首先要確保mongodb的正確安裝,安裝参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux
然後下載nodejs的mongodb的driver
npm install 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');
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');
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函數即可:
示例:
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函數
示例:
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 });
結果如圖:
對數據進行更新:
示例:
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函數
示例:
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');
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 });