node-mongodb 发表于 2018-01-30 | 分类于 代码片段 , javascript | 评论数: 0 | 阅读次数: | 阅读次数: 配置信息: 12345678910/** * 配置信息 */const config = { DB: { db: 'demo', //数据库名称 host: 'localhost', //主机号 port: 27017, //端口号 },} 数据访问对象: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108const mongodb = require('mongodb') //引入MongoDB模块/** * 创建数据库对象 */const d = new mongodb.Db( config.db, new mongodb.Server( config.host, config.port, { auto_reconnect: true }, //自动连接 ), { safe: true },)/** * 打开数据库,操作集合 * @param {*} col 集合名 * @param {*} fn 操作方法 */function connect(col, fn) { d.open(function(err, db) { if (err) throw err else db.collection(col, function(err, col) { if (err) throw err else fn && fn(col, db) }) })}exports.DB = function(col) { return { /** * 插入数据 * @param {*} data 插入数据库 * @param {*} success 操作成功回调 * @param {*} fail 操作失败回调 */ insert: (data, success, fail) => { connect( col, function(col, db) { col.insert(data, function(err, docs) { if (err) fail && fail(err) else success && success(docs) db.close() }) }, ) }, /** * 删除数据 * @param {*} data 插入数据库 * @param {*} success 操作成功回调 * @param {*} fail 操作失败回调 */ remove: (data, success, fail) => { connect( col, function(col, db) { col.remove(data, function(err, len) { if (err) fail && fail(err) else success && success(len) db.close() }) }, ) }, /** * 更新数据 * @param {*} con 筛选条件 * @param {*} doc 更新数据项 * @param {*} success 成功回调 * @param {*} fail 失败回调 */ update: (con, doc, success, fail) => { connect( col, function(col, db) { col.update(con, doc, function(err, len) { if (err) fail && fail(err) else success && success(len) db.close() }) }, ) }, /** * 更新数据 * @param {*} con 筛选条件 * @param {*} success 成功回调 * @param {*} fail 失败回调 */ find: (con, success, fail) => { connect( col, function(col, db) { col.find(con).toArray(function(err, docs) { if (err) fail && fail(err) else success && success(docs) db.close() }) }, ) }, }} 测试用例: 12345678910111213const user = DB('user')user.insert({ name: '小白', nick: '雨夜清荷' }, function(docs) { console.log(docs) // [{ name: '小白', nick: '雨夜清荷', _id: 1 }]})user.find({ name: '小白' }, function(doc) { console.log(doc) // [{ name: '小白', nick: '雨夜清荷', _id: 1 }]})user.update({ name: '小白' }, { name: '小黑', nick: '雨夜' }, function(len) { console.log(len) // 1})user.remove({ name: '小白' }, function(len) { console.log(len) // 1}) 坚持原创技术分享,您的支持将鼓励我继续创作! 打赏 微信支付 支付宝 本文作者: Leo 本文链接: https://xuebin.me/posts/a787b817.html 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!