nodejs对mongodb数据库的增删改查操作(转载)

Posted 漫思

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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       });  
复制代码
 

 

欢迎捐赠

 

以上是关于nodejs对mongodb数据库的增删改查操作(转载)的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs mysql 数据库增删改查 操作

Scala对MongoDB的增删改查操作

mongoose入门以及 mongoose 实现数据 的增删改查

mongoDB4--mongoDB的增删改查

使用Mongoose类库实现简单的增删改查

mongodb之一些简单的增删改查语句