zzl001 发表于 2017-12-14 20:00:09

mongoDB & Nodejs 访问mongoDB (二)

/*  * @Author: Administrator
  * @Date:   2017-03-13 17:14:40
  * @Last Modified by:   Administrator
  * @Last Modified time: 2017-03-13 20:24:23
  */
  'use strict';
  const mongoClient = require("mongodb").MongoClient,
  dburl = require("config").dburl;
  // 连接数据库,内部函数
  function _connectDB(callback) {
  mongoClient.connect(dburl, function(err, db) {
  if (err) {
  console.log(err);
  return;
  }
  callback(err, db);
  }
  })
  }
  exports.find = function(collectionName, json, pageOption, callback) {
  // 第 0 页,就跳过 0 条,第 1 页,跳过10条 ,取 10条
  // skip & limit ,如果参数为0,那么就忽略参数
  var skipNumber = pageOption.page * pageOption.count || 0,
  takeNumber = pageOption || 0,
  sort = pageOption.sort || {};
  _connectDB(function(err, db) {
  db.collection(collectionName).find(json).skip(skipNumber).limit(takeNumber).sort(sort) toArray(function(err, docs) {
  callback(err, docs);
  db.close();
  });
  })
  };
  exports.insertOne = function(collectionName, json, callback) {
  _connectDB(function(err, db) {
  db.insertOne(collectionName).insertOne(function(err, res) {
  callback(err, res);
  db.close();
  })
  })
  }
  exports.insertMany = function(collectionName, json, callback) {
  _connectDB(function(err, db) {
  db.insertOne(collectionName).insertMany(function(err, res) {
  callback(err, res);
  db.close();
  })
  })
  }
  exports.deteleOne = function(collectionName, json, callback) {
  _connectDB(function(err, db) {
  db.collection(collectionName).deteleOne(json, function(err, res) {
  callback(err, res);
  db.close();
  })
  })
  };
  exports.deteleMany = function(collectionName, json, callback) {
  _connectDB(function(err, db) {
  db.collection(collectionName).deteleMany(json, function(err, res) {
  callback(err, res);
  db.close();
  })
  })
  };
  exports.updateOne = function(collectionName, jsonQeury, jsonSet, callback) {
  _connectDB(function(err, db) {
  db.collection(collectionName).updateOne(jsonQeury, { $set: jsonSet }, function(err, res) {
  callback(err, res);
  db.close();
  })
  })
  };
  exports.updateMany = function(collectionName, jsonQeury, jsonSet, callback) {
  _connectDB(function(err, db) {
  db.collection(collectionName).updateMany(jsonQeury, { $set: jsonSet }, function(err, res) {
  callback(err, res);
  db.close();
  })
  })
  };
  exports.getAllCount = function(collectionName, json, callback) {
  _connectDB(function(err, db) {
  db.collection(collectionName).count(json, function(err, count) {
  callback(err, count);
  db.close();
  })
  })
  };
页: [1]
查看完整版本: mongoDB & Nodejs 访问mongoDB (二)