yuanqiao 发表于 2017-12-15 18:48:33

mongoDB数据库操作工具库

/*  
Mongodb的数据库工具类
  

*/  
var client = require('mongodb').MongoClient;
  

  
function MongoUtil() {
  
this.url="mongodb://localhost:27017/storage";//在本地新建数据库storage,此后插入的数据都在storage中
  
}
  

  
MongoUtil.prototype.connect=function(callback){
  
var that = this;
  
// console.log(3);
  
client.connect(this.url,function(err,db){
  
// console.log(4);
  
if(err){
  
console.dir(err);
  
}else{
  
that.db = db;
  
callback();
  
}
  
});
  
}
  

  
MongoUtil.prototype.close = function(){
  
this.db.close();
  
}
  

  
MongoUtil.prototype.insertDocuments = function(collectionName,docs,callback) {
  
var that = this;
  
this.connect(function(){
  
var collection = that.db.collection(collectionName);
  
collection.insertMany(docs, function(err,result){
  
if(err){
  
console.dir(err);
  
}else{
  
callback(result);
  
}
  
that.close();
  
});
  

  
});
  
}
  

  
MongoUtil.prototype.insertDocument = function(collectionName,doc,callback) {
  
var that = this;
  
this.connect(function(){
  
var collection = that.db.collection(collectionName);
  
collection.insertOne(doc, function(err,result){
  
if(err){
  
console.dir(err);
  
}else{
  
callback(result.insertedCount);
  
}
  
that.close();
  
});
  
});
  
}
  

  
MongoUtil.prototype.findAllDocuments = function(collectionName, callback) {
  
var that = this;
  
this.connect(function(){
  
var collection = that.db.collection(collectionName);
  
collection.find({}).toArray(function(err,result){
  
if(err){
  
console.dir(err);
  
}else{
  
callback(result);//返回插入的行数
  
}
  
that.close();
  
});
  
})
  
}
  

  
MongoUtil.prototype.update = function(collectionName,filter,update,callback){
  
var that = this;
  
this.connect(function(){
  
var collection = that.db.collection(collectionName);
  
collection.updateOne(filter,update,function(err,result){
  
if(err){
  
console.dir(err);
  
}else{
  
callback(result.insertedCount);//返回插入的行数
  
}
  
});
  
});
  
}
  

  
MongoUtil.prototype.findOne = function(collectionName,query,options,callback){
  
var that = this;
  
this.connect(function(){
  
var collection = that.db.collection(collectionName);
  
collection.findOne(query,options).then(function(doc){
  
callback(doc);
  
});
  
});
  
}
  

  
module.exports=new MongoUtil();
页: [1]
查看完整版本: mongoDB数据库操作工具库