美文网首页
node.js + mongodb

node.js + mongodb

作者: 飘渺阿天 | 来源:发表于2016-12-14 09:58 被阅读21次

先声明 mongoClient

var mongoClient = require('monggodb').MongoClient,assert=require('assert');

接下来创建函数 function MongoCRUD()

在函数中进行数据库的增删改查的操作
先声明地址
var db_addr = 'mongodb://127.0.0.1:4396';

//create
this.create = function (db_name, coll, data2insert, callback) { var db_url = db_addr + db_name; mongoClient.connect(db_url,function (err,db) { assert.equal(null,err); var col = db.collection(coll); col.insertOne(data2insert, callback); db.close(); });};

//查 read
this.read = function (db_name ,coll , query_param , callback) { var db_url = db_addr + db_name; mongoClient.connect(db_url,function (err,db) { assert.equal(null,err); var col = db.collection(coll); col.find(query_param,{'_id': 0}).limit(1).toArray(function (err,docs) { callback(err ,docs); db.close(); }); });};

//改 update
this.update = function (db_name,coll,query_param,data2set,data2push,data2pull,callback) { var db_url = db_addr + db_name; mongoClient.connect(db_url,function (err,db) { assert.equal(null,err); var col = db.collection(coll); var data2updata = {}; if (Object.keys(data2set).length > 0){ data2updata.$set = data2set; } if (Object.keys(data2push).length > 0){ data2updata.$addToSet = data2push; } if (Object.keys(data2pull).length > 0){ data2updata.$pull = data2pull; } col.finOneAndUpdate(query_param,data2updata,{returnOriginal:false,upsert:false},callback); db_close(); })}

//删除 delete
this.delete =function (db_name,coll,query_param,callback) { var db_url = db_addr + db_name; mongoClient.connect(db_url,function (err,db) { assert.equal(null,err); var col = db.collection(coll); col.findOneAndUpdate(query_param,{$set:{status: -1}},{returnOriginal: false,upsert:false},callback) db.close(); });};

//list
this.list = function (db_name,coll,query_param,page,pagesize,callback) { assert(page > 0,'pagemust be greater than 0'); assert(pagesize > 0, 'pagesize must be greater than 0'); assert(pagesize <= 100, 'pagesize must be less than 100'); var skip_size = pagesize * (page - 1); var db_url = db_addr + db_name; mongoClient.connect(db_url,function (err ,db) { assert.equal(null,err); var col = db.collection(coll); col.find(query_param,{'_id':0}).sort({update_time: -1}).limit(pagesize).skip(skip_size).toArray(function (err,docs) { callback(err,docs); db_close; }); });};

最后用module.exports = MongoCRUD;将这个方法传出去

相关文章

网友评论

      本文标题:node.js + mongodb

      本文链接:https://www.haomeiwen.com/subject/yckimttx.html