/** * Created by Administrator on 2017/3/3 0003. */var Mongo=require(‘mongodb‘); var Config=require("./config.js").config; var MongoClient=Mongo.MongoClient; var ObjectID=Mongo.ObjectID; /*连接数据库*/function _connectDB(callback){ //MongoClient.connect(Config.DbUrl,function(err,db){ // if (err) { // console.log(‘数据库连接失败...‘); // callback(err, null); // return; // } // callback(err, db); //}) MongoClient.connect(Config.DbUrl,function(err,db){ if (err) { console.log(‘数据库连接失败...‘); callback(err, null); return; } callback(err, db); }) } //用于获取idexports.ObjectID=ObjectID; exports.count=function(collectionName,json,callback){ _connectDB(function(err,db){ db.collection(collectionName).count(json, function (err, result) { callback(err, result); db.close(); //关闭数据库 }) }) } /*插入数据*/exports.insertOne=function(collectionName,json,callback){ _connectDB(function(err,db){ db.collection(collectionName).insertOne(json, function (err, result) { callback(err, result); db.close(); //关闭数据库 }) }) }/*更新数据*/ //修改一条exports.updateOne = function (collectionName, json1, json2, callback) { _connectDB(function (err, db) { db.collection(collectionName).updateOne( json1, json2, function (err, results) { callback(err, results); db.close();//关闭数据库 }); })}//修改全部exports.updateMany=function (collectionName, json1, json2, callback) { _connectDB(function (err, db) { db.collection(collectionName).updateMany( json1, json2, function (err, results) { callback(err, results); db.close();//关闭数据库 }); }) } // 查找 //要求最少传4个参数//db.find(‘表名‘,{},{},function(){////}) //collectionName表名 //json1查询条件//json2返回的列//c 配置 回调//D回调 exports.find=function (collectionName, json1,json2, C, D) { if (arguments.length<4) { console.log(‘ 传入参数不对‘); return false; } var result = []; //结果数组 if (arguments.length == 4) { //那么参数C就是callback,参数D没有传。 var callback = C; var skipnumber = 0; //数目限制 var limit = 0; } else if (arguments.length == 5) { var callback = D; var args = C; /*配置*/ //应该省略的条数 1 var skipnumber = args.pageSize * (args.page-1) || 0; // //page=1第一页:skip(0) //page=2 第一页:skip(2) //page=3 第一页:skip(4) //page=4 第一页:skip(6) //数目限制 var limit = args.pageSize || 20; //排序方式 var sort = args.sort || {}; } else { throw new Error("find函数的参数个数,必须是3个,或者4个。"); return; } _connectDB(function(err,db){ if(err){ /*数据库连接失败*/ console.log(‘数据库连接失败‘); return; } //var userRel=db.collection(collectionName).find(json); var userRel=db.collection(collectionName).find(json1,json2).skip(skipnumber).limit(limit).sort(sort);; userRel.each(function(err, doc) { if(err){ res.write("游标遍历错误"); return; } if (doc != null) { result.push(doc); } else { //console.log(result); //遍历完毕 db.close(); callback(err,result) } }); }) } ////// 查找//exports.find=function (collectionName, json, C, D) {//////// var result = []; //结果数组// if (arguments.length == 3) {// //那么参数C就是callback,参数D没有传。// var callback = C;// var skipnumber = 0;// //数目限制// var limit = 0;// } else if (arguments.length == 4) {// var callback = D;// var args = C; /*配置*/// //应该省略的条数 1// var skipnumber = args.pageSize * (args.page-1) || 0;//// // //page=1第一页:skip(0)// //page=2 第一页:skip(2)// //page=3 第一页:skip(4)// //page=4 第一页:skip(6)//// //数目限制// var limit = args.pageSize || 20;// //排序方式// var sort = args.sort || {};// } else {// throw new Error("find函数的参数个数,必须是3个,或者4个。");// return;// }////// _connectDB(function(err,db){////// if(err){ /*数据库连接失败*///// console.log(‘数据库连接失败‘);// return;// }////// //var userRel=db.collection(collectionName).find(json);// var userRel=db.collection(collectionName).find(json).skip(skipnumber).limit(limit).sort(sort);;////// userRel.each(function(err, doc) {//// if(err){// res.write("游标遍历错误");// return;// }// if (doc != null) {// result.push(doc);// } else {// //console.log(result);// //遍历完毕// db.close();// callback(err,result)// }// });//// })//////////} //删除exports.deleteMany = function (collectionName, json, callback) { _connectDB(function (err, db) { //删除 db.collection(collectionName).deleteMany( json, function (err, results) { callback(err, results); db.close(); //关闭数据库 } ); });}
时间: 2024-11-07 03:30:20