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       });  
    复制代码
     

    欢迎捐赠

     

  • 相关阅读:
    centos8 将SSSD配置为使用LDAP并要求TLS身份验证
    Centos8 搭建 kafka2.8 .net5 简单使用kafka
    .net core 3.1 ActionFilter 拦截器 偶然 OnActionExecuting 中HttpContext.Session.Id 为空字符串 的问题
    Springboot根据不同环境加载对应的配置
    VMware Workstation12 安装 Centos8.3
    .net core json配置文件小结
    springboot mybatisplus createtime和updatetime自动填充
    .net core autofac依赖注入简洁版
    .Net Core 使用 redis 存储 session
    .Net Core 接入 RocketMQ
  • 原文地址:https://www.cnblogs.com/sexintercourse/p/6485381.html
Copyright © 2011-2022 走看看