Nodejs操作MongoDB


  • 註冊用戶

    先用npm安装mongodb

    npm install mongodb

    安装成功后,继续在上面操作创建的库和表中操作

    插入

    var MongoClient = require('mongodb').MongoClient;
    var DB_CONN_STR = 'mongodb://localhost:27017/wilsondb1';    
    var insertData = function(db, callback) {  
        //连接到表  
        var collection = db.collection('tb2');
        //插入数据
        var data = [{"name":'wilson001',"age":21},{"name":'wilson002',"age":22}];
        collection.insert(data, function(err, result) { 
            if(err)
            {
                console.log('Error:'+ err);
                return;
            }     
            callback(result);
        });
    }
    MongoClient.connect(DB_CONN_STR, function(err, db) {
        console.log("连接成功!");
        insertData(db, function(result) {
            console.log(result);
            db.close();
        });
    });
    

    查询

    var MongoClient = require('mongodb').MongoClient;
    var DB_CONN_STR = 'mongodb://localhost:27017/wilsondb1';  
    var selectData = function(db, callback) {  
      //连接到表  
      var collection = db.collection('tb2');
      //查询数据
      var whereStr = {"name":'wilson001'};
      collection.find(whereStr).toArray(function(err, result) {
        if(err)
        {
          console.log('Error:'+ err);
          return;
        }     
        callback(result);
      });
    }
    MongoClient.connect(DB_CONN_STR, function(err, db) {
      console.log("连接成功!");
      selectData(db, function(result) {
        console.log(result);
        db.close();
      });
    });
    

    修改

    var MongoClient = require('mongodb').MongoClient;
    var DB_CONN_STR = 'mongodb://localhost:27017/wilsondb1';    
    var updateData = function(db, callback) {  
        //连接到表  
        var collection = db.collection('tb2');
        //更新数据
        var whereStr = {"name":'wilson001'};
        var updateStr = {$set: { "age" : 100 }};
        collection.update(whereStr,updateStr, function(err, result) {
            if(err)
            {
                console.log('Error:'+ err);
                return;
            }     
            callback(result);
        });
    }
    MongoClient.connect(DB_CONN_STR, function(err, db) {
        console.log("连接成功!");
        updateData(db, function(result) {
            console.log(result);
            db.close();
        });
    });
    

    删除

    var MongoClient = require('mongodb').MongoClient;
    var DB_CONN_STR = 'mongodb://localhost:27017/wilsondb1';  
    var delData = function(db, callback) {  
      //连接到表  
      var collection = db.collection('tb2');
      //删除数据
      var whereStr = {"name":'wilson001'};
      collection.remove(whereStr, function(err, result) {
        if(err)
        {
          console.log('Error:'+ err);
          return;
        }     
        callback(result);
      });
    }
    MongoClient.connect(DB_CONN_STR, function(err, db) {
      console.log("连接成功!");
      delData(db, function(result) {
        console.log(result);
        db.close();
      });
    });
    

    调用存储过程

    var MongoClient = require('mongodb').MongoClient;
    var DB_CONN_STR = 'mongodb://localhost:27017/wilsondb1';    
    var invokeProcData = function(db, callback) {  
        //存储过程调用
        db.eval('get_tb2_count()', function(err, result) { 
            if(err)
            {
                console.log('Error:'+ err);
                return;
            }             
            callback(result);
        });
    }
    MongoClient.connect(DB_CONN_STR, function(err, db) {
        console.log("连接成功!");
        invokeProcData(db, function(result) {
            console.log(result);
            db.close();
        });
    });
    

    到此CRUD操作就完成,通过回调函数的result参数进行判断都可以进行业务逻辑的进一步组合!


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待