zoukankan      html  css  js  c++  java
  • nodejs对mongodb数据库的增删改查操作(转载)

    首先要确保mongodb的正确安装,安装参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux

    另外可以参考我的另一篇博文

    http://www.cnblogs.com/sexintercourse/p/5774310.html

    指导mongo和nodejs的开发

    然后下载nodejs的mongodb的driver

    npm install mongodb

    编写一个测试的程序:

    复制代码
     1 var mongodb = require('mongodb');
     2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
     3 var db = new mongodb.Db('mydb',server,{safe:true});
     4 db.open(function(err,db){
     5     if(!err)
     6     {   
     7         console.log('connect');
     8     }else{
     9         console.log(err);
    10     }   
    11 
    12 });
    复制代码

    如果最终显示connect则说明成功。

    对mongodb的collection的操作

    有两种方法链接collection,分别为:

    db.collection('mycoll',function(err,coll){});

    db.createCollection('mycoll',function(err,coll){});

    这两种方法还有第二个可选参数{safe:true},这个参数的作用对于第一种方法,如果加上了这个参数,那么当collection不存在的时候则报错,对于第二种方法,则当collection存在的时候报错

    示例:

      1 var mongodb = require('mongodb');

    复制代码
     2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
     3 var db = new mongodb.Db('mydb',server,{safe:true});
     4 db.open(function(err,db){
     5     if(!err)
     6     {   
     7       console.log('connect');
     8       db.collection('mycoll',{safe:true},function(err,collection){
     9           if(err){
    10               console.log(err);
    11           }   
    12       }); 
    13 
    14     }else{
    15         console.log(err);
    16     }   
    17 
    18 });  
    复制代码

     结果如图所示:

     

    示例:

      1 var mongodb = require('mongodb');

    复制代码
     2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
     3 var db = new mongodb.Db('mydb',server,{safe:true});
     4 db.open(function(err,db){
     5     if(!err)
     6     {   
     7       console.log('connect');
     8       db.createCollection('mycoll',{safe:true},function(err,collection){
     9           if(err){
    10               console.log(err);
    11           }   
    12       }); 
    13 
    14     }else{
    15         console.log(err);
    16     }   
    17 
    18 });                                                                             
    复制代码

     结果如图所示:

     

    删除collection则使用dropCollection函数即可:

    示例:

    复制代码
     1 var mongodb = require('mongodb');
     2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
     3 var db = new mongodb.Db('mydb',server,{safe:true});
     4 db.open(function(err,db){
     5     if(!err)
     6     {   
     7       console.log('connect');
     8       db.dropCollection('mycoll',{safe:true},function(err,result){
     9          console.log(result);
    10       }); 
    11 
    12     }else{
    13         console.log(err);
    14     }   
    15 
    复制代码

    16 });

    结果如图所示:

     

    对collection进行增删改查

    向collection添加数据使用insert函数

    示例:

    复制代码
     1 var mongodb = require('mongodb');
     2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
     3 var db = new mongodb.Db('mydb',server,{safe:true});
     4 db.open(function(err,db){
     5     if(!err)
     6     {   
     7       db.collection('mycoll',{safe:true},function(err,collection){
     8           var tmp1 = {title:'hello',number:1};
     9           collection.insert(tmp1,{safe:true},function(err,result){
    10               console.log(result);
    11           }); 
    12     });
    13     }else{
    14         console.log(err);
    15     }   
    16 
    17 });
    复制代码

    结果如图:

     

    对数据进行更新:

    示例:

    复制代码
     1 var mongodb = require('mongodb');
     2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
     3 var db = new mongodb.Db('mydb',server,{safe:true});
     4 db.open(function(err,db){
     5     if(!err)
     6     {
     7       db.collection('mycoll',{safe:true},function(err,collection){
     8           collection.update({title:'hello'},{$set:{number:3}},{safe:true},function(err,result){
     9               console.log(result);
    10           });
    11 
    12     }else{
    13         console.log(err);
    14     }
    15 
    16 });
    17                                                                                                                     
    复制代码

    结果如图所示:

     

    对数据进行删除使用remove函数

     示例:

    复制代码
     1 var mongodb = require('mongodb');
     2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
     3 var db = new mongodb.Db('mydb',server,{safe:true});
     4 db.open(function(err,db){
     5     if(!err)
     6     {
     7       db.collection('mycoll',{safe:true},function(err,collection){
     8           collection.remove({title:'hello'},{safe:true},function(err,result){
     9               console.log(result);
    10           });
    11         
    12     }else{
    13         console.log(err);
    14     }         
    15                                 
    16 });                                       
    复制代码

    结果如图:

     

    如果remove没有任何的参数,则删除全部。

    查找操作,查找操作有两个方法一个是find,一个是findOne

    示例:

      1 var mongodb = require('mongodb');

    复制代码
     2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
     3 var db = new mongodb.Db('mydb',server,{safe:true});
     4 db.open(function(err,db){
     5     if(!err)
     6     {   
     7       db.collection('mycoll',{safe:true},function(err,collection){
     8           var tmp1 = {title:'hello'};
     9           var tmp2 = {title:'world'};
    10           collection.insert([tmp1,tmp2],{safe:true},function(err,result){
    11               console.log(result);
    12           }); 
    13           collection.find().toArray(function(err,docs){
    14               console.log('find');
    15               console.log(docs);
    16           }); 
    17           collection.findOne(function(err,doc){
    18               console.log('findOne');
    19               console.log(doc);
    20           }); 
    21       });  
    复制代码
     

    欢迎捐赠

     

  • 相关阅读:
    memcache的最佳实践方案。
    ehcache memcache redis 三大缓存男高音
    微服务-----(网站架构演变)
    分布式job-任务调度(一)
    rocketmq(三 java操作rocket API, rocketmq 幂等性)
    rocketMQ(二 )Centos7 集群
    go基础三 数组,切片,map,list
    go语言基础二 函数 ,递归函数 ,指针
    go语言基础一:数据类型,变量和常量,类型转化
    Spring AOP 学习(一) 代理模式
  • 原文地址:https://www.cnblogs.com/sexintercourse/p/6485381.html
Copyright © 2011-2022 走看看