monogodb操作のモジュールは手動でカプセル化します.

3118 ワード

monogodb操作のモジュールは手動でカプセル化します.
[注]:これらのコードはすべてnodejsに基づいて行われます.
nodejsディレクトリの下でモジュールファイル*.jsを作成して呼び出します.
以下はモジュールコードです.

function mongodbModel(dbname,dataform) {
  var MongoClient;
  var DB_CONN_STR;
  this.init = function() {
      MongoClient = require('mongodb').MongoClient;
      DB_CONN_STR = 'mongodb://localhost:27017/' + dbname;
  }
  /*       */
  this.insert = function(data,callback) {
    MongoClient.connect(DB_CONN_STR, function(err, db) {
      console.log('    ')
      var collection = db.collection(dataform);
      collection.insert(data, function(err,result){
        callback(err,result);
      })
    })
  }
  /*       */
  this.remove = function(data,callback){
    MongoClient.connect(DB_CONN_STR, function(err, db) {
      console.log('    ')
      var collection = db.collection(dataform);
      collection.remove(data, function(err,result){
        callback(err,result);
      })
    })
  }
  /*     */
  this.update=function(data,updata,callback){
    MongoClient.connect(DB_CONN_STR, function(err, db) {
      console.log('    ')
      var collection = db.collection(dataform);
      collection.update(data,updata,function(err,data){
        callback(err,data);
      })
    })
  }
  /*     */
  this.find=function(data,callback){
    MongoClient.connect(DB_CONN_STR, function(err, db) {
      console.log('    ')
      var collection = db.collection(dataform);
      collection.find(data).toArray(function(err,data){
        callback(err,data);
      })
    })
  }
}

module.exports = mongodbModel;

どう使いますか
同じディレクトリの下で呼び出しファイルを作成します.*.js

var mongodbModel = require('./mongodbModel');
var mongodbObject = new mongodbModel('seraph','singer');
mongodbObject.init();

/*     */
mongodbObject.insert({name:' xx'},function(err,data){
  if(err){
    console.log(err);
  }else{
    console.log(data);
  }
})

/*    */
mongodbObject.remove({name:' xiao'},function(err,data){
  if(err){
    console.log(err);
  }else{
    console.log('        ');
  }
})

/*     */
mongodbObject.update({name:'  '},{$set:{name:'  '}},function(err,data){
  if(err){
    console.log(err);
  }else{
    console.log(data);
  }
})

/*       */
mongodbObject.find({name:'   '},function(err,data){
  if(err){
    console.log(err);
  }else{
    console.log(data);
  }
})

関連パラメータ:
dbname:操作するdatabaseです.dataform:操作するデータテーブルです.data:挿入または照会または修正が必要なデータを表します.udata:修正後のデータを表示します.
個人がカプセル化する時、calbackは難点です.
疑問があれば、メッセージをお願いします.あるいは、当駅のコミュニティで交流して討論してください.ありがとうございます.