Node.js封装对mongodb操作的模块
2018-07-22 10:55
525 查看
var mongodb=require("mongodb"); var MongoClient=mongodb.MongoClient; var connStr="mongodb://127.0.0.1:27017/"; //连接数据库 function _connect(cb){ MongoClient.connect(connStr,function(err,client){ if(err){ console.log("失败"); }else{ //指定数据库的名字"bang" var db=client.db("bang"); cb(db); } }) } /***********************插入*******************************/ //插入一条记录 module.exports.insertOne=function(collection,obj,cb){ _connect(function(db){ db.collection(collection).insertOne(obj,function(err,results){ cb(err,results); }) }) } //插入多条记录 /* * collection:插入的集合, * arr:插入的文档 * cb:回调函数。通过该函数返回执行的结果*/ module.exports.insertMany=function(collection,arr,cb){ _connect(function(db){ db.collection(collection).insertMany(arr,function(err,results){ cb(err,results); }) }) } /*********************查找**********************************/ //根据条件查找记录数 module.exports.count=function(collection,whereObj,cb){ _connect(function(db){ db.collection(collection).count(whereObj).then(function(count){ cb(count); }) }) } /*查找 * collection:集合 * obj: * whereObj:条件,默认是{} * sortObj:排序,默认是{} * limit:显示提定条数,默认是0 * skip:跳过指定条数,默认是0*/ module.exports.find=function(collection,obj,cb){ //如果有条件,将条件赋值给obj.whereObj,没有传条件默认为{} obj.whereObj=obj.whereObj||{}; obj.sortObj=obj.sortObj||{}; obj.limit=obj.limit||0; obj.skip=obj.skip||0; _connect(function(db){ db.collection(collection) .find(obj.whereObj) .sort(obj.sortObj) .limit(obj.limit) .skip(obj.skip) .toArray(function(err,results){ cb(err,results); }) }) } /* * 查找一条记录*/ module.exports.findOne=function(collection,whereObj,cb){ _connect(function(db) { db.collection(collection).findOne(obj, function (err, results) { cb(err, results); }); }); } //根据ID来查找记录 module.exports.findOneById=function(collection,id,cb){ _connect(function(db) { db.collection(collection).findOne({_id: mongodb.ObjectId(id)}, function (err, results) { cb(err, results); }); }); } /*********************修改******************************************/ //根据ID修改一条记录 module.exports.updateOneById=function(collection,id,upObj,cb){ _connect(function(db) { db.collection(collection).updateOne({_id:mongodb.ObjectId(id)}, upObj, function (err, results) { cb(err, results); }) }); } //修改一条记录 module.exports.updateOne=function(collection,whereObj,upObj,cb){ _connect(function(db) { db.collection(collection).updateOne(whereObj, upObj, function (err, results) { cb(err, results); }) }); } //修改多条记录 module.exports.updateMany=function(collection,whereObj,upObj,cb){ db.collection(collection).updateMany(whereObj,upObj,function(err,results){ cb(err,results); }) } /**********************删除**************************************/ //根据ID来删除一条记录 module.exports.deleteOneById=function(collection,id,cb){ _connect(function(db) { db.collection(collection).deleteOne({_id: mongodb.ObjectId(id)}, function (err, results) { cb(err, results); }) }); } //删除一条记录 module.exports.deleteOne=function(collection,whereObj,cb){ _connect(function(db) { db.collection(collection).deleteOne(whereObj, function (err, results) { cb(err, results); }) }); } //删除多条记录 module.exports.deleteMany=function(collection,whereObj,cb){ _connect(function(db) { db.collection(collection).deleteMany(whereObj, function (err, results) { cb(err, results); }) }); }
阅读更多
相关文章推荐
- nodejs mongoose 操作mongodb 数据库封装
- node.js零基础详细教程(7):node.js操作mongodb,及操作方法的封装
- Node.js对于MongoDB的操作DAO的封装
- Node.js 模块之【mongoose】MongoDB操作模块
- 分针网—每日分享:安装使用Mongoose配合Node.js操作MongoDB的基础教程
- Node.Js events模块(二)-EventEmitter自定义操作事件
- 项目日志的管理和应用 log4js-Node.js中的日志管理模块使用与封装
- nodejs mongodb好友关系数据库设计与操作
- Node.js 操作Mongodb
- MONGOOSE – 让NODE.JS高效操作MONGODB(转载)
- node.js操作mongodb学习小结
- NODE.JS的基本系统模块操作样例
- 如何封装Node.js和前端通用的模块
- Node.js中对通用模块的封装方法
- Node.js模块封装及使用
- 使用node.js中的async模块进行数据库的同步操作
- 关于js封装框架类库之DOM操作模块(一)
- 夺命雷公狗---node.js---12之fs模块文件的操作
- Node.Js cheerio模块--操作/解析Html
- node.js零基础详细教程(2):模块化、fs文件操作模块、http创建服务模块