nodejs對mongodb數據庫的增刪改查操作

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

然後下載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                                                                                                                     

 

結果如圖所示:

nodejs對mongodb數據庫的增刪改查操作_第1张图片 

對數據進行刪除使用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數據庫的增刪改查操作)