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

来源:互联网 发布:数据录入查询系统 编辑:程序博客网 时间:2024/06/05 17:53

首先要確保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([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       });  
复制代碼
 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 数据库bak文件损坏了怎么办? wps文档大小超出上传限制怎么办 手机百度用微盘下载不了文件怎么办 无法读取源文件或磁盘怎么办 文件中转站未安装上传控件怎么办 手机外国网址网速太差怎么办 istpng里显示不出图片怎么办 电脑上保持登录状态后怎么办 电脑打游戏闪退怎么办 实训老师教不好怎么办 善心汇损失的钱怎么办 去陌生的地方怕传销怎么办 被执行人不提供财产线索怎么办 宽带ip地址改了怎么办 移动宽带恢复出厂设置了怎么办 移动100兆网速慢怎么办 手机显示无法解析dns地址怎么办 台式电脑宽带连接不上怎么办 电信宽带账号登录密码忘记了怎么办 电信校园宽带超时了怎么办 宽带连接账号密码忘了怎么办 移动宽带路由器上不了网怎么办 移动宽带太卡了怎么办 电信adsl密码忘记了怎么办 移动宽带无法连接网络怎么办 移动宽带电视无信号怎么办 联通网线故障电话打不通怎么办 w10系统ip地址错误怎么办 移动流量太贵了怎么办 修改wifi密码ip地址怎么办 苹果6s接电话声音小怎么办 k歌录音器失败怎么办 想报警但不能说话怎么办 微粒贷要家人电话怎么办 4g网络信号差怎么办 手机移动网络信号不好怎么办 移动的4g网络差怎么办 4g移动网络慢怎么办 房间没有4g网络怎么办 oppo显示2g网络怎么办 oppo只有2g网络怎么办