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);
})
});
}
Node.js封装对mongodb操作的模块
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1、先封装好数据库 config.js exports.dbUrl ="mongodb://127.0.0.1:2...
- node操作mongodb数据库的封装 最近玩node 的时候,我发现我需要个数据库,我选择了mongodb这个数...
- 其实对于做一些常见的应用,增删改查也就够用了,数据库的东西博大精深,不可一日耳语,当然,我这是在写之前瞎掰了一下,...