muri 发表于 2015-11-11 03:42:25

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                                                                                                                     
結果如圖所示:

對數據進行刪除使用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(,{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       });   
         版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: nodejs對mongodb數據庫的增刪改查操作