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([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       });

时间: 2024-07-31 08:26:36

nodejs對mongodb數據庫的增刪改查操作的相关文章

針對數據庫的數據的增刪改查的功能做接口

package poster1.dao; import java.sql.SQLException;import java.util.List; import poster_model.Typeinfo;import poster_model.Userinfo; /** * 針對數據庫的數據的增刪改查的功能做接口 * @author 1 * */public interface IDaoBBs<T> { /** * @param t * @return 向數據庫表里添加一條數據 * @thro

python第五天:字典的增刪改查,字典的嵌套

數據類型劃分:可變數據類型, 不可變數據類型不可變數據類型: 元祖 bool str int 可哈希可變數據類型: list dict set 不可哈希dict key:必須是可哈希數據類型dict value:任意數據類型dict 優點:用二分查找去查詢 存儲大量的關係型數據 特點: 無序的 ''' #dict #數據類型劃分:可變數據類型, 不可變數據類型 不可變數據類型: 元祖 bool str int 可哈希 可變數據類型: list dict set 不可哈希 dict key:必須是

怎样从C#中打开数据库并进行 增 删 改 查 操作

首先 在C#中引用数据库的操作! (因为我们用的是SQLserver数据库,所以是SqlClient) using System.Data.SqlClient; 1:要实现对数据库的操作,我们必须先登录数据库 Console.WriteLine("请输入用户名:"); //提示客户输入用户名和密码 string name = Console.ReadLine(); Console.WriteLine("请输入密码:"); string pwd = Console.R

在Android中afinal框架下實現sqlite數據庫版本升級的辦法

public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int new Version) 這個方法在實現時需要重寫. public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int new Version) 這個方法在實現時需要重寫. onUpgrade方法會在數據庫需要升級的時候調用.可以用來增刪表或者其他任何操作.如果你想添加新的列你可以使用ALTE

FMDB與SQLite 數據庫應用示範:打做一隻簡單的電影資料庫 App

原文:http://www.appcoda.com/fmdb-sqlite-database/ 作者:GABRIEL THEODOROPOULOS 譯者:kmyhy 通常在 App 中使用數據庫并處理數據都會是一個重要和嚴肅的話題.在幾個月前我寫了一篇關於如何利用 SwiftyDB 來管理 SQLite 數據庫的文章.今天,我又提起數據庫這個話題,只不過這次我會介紹另一個庫.你也許聽說過了,它就是FMDB. 這兩個庫的功能都是一樣的,都是用來與 SQLite 數據庫打交道并允許你高效地管理你的

數據庫ORACLE轉MYSQL存儲過程遇到的坑~(總結)

ORACLE數據庫轉MySQL數據庫遇到的坑 總結 最近在做Oracle轉mysql的工程,遇到的坑是真的多,尤其是存儲過程,以前都沒接觸過類似的知識,最近也差不多轉完了就總結一下.希望能幫到一些人(包括以後的自己)~ 1> 基本語法 變量聲明: oracle:   v_cnt varchar2(100) := ' ' ; mysql:   DECLARE v_cnt VARCHAR(100) DEFAULT  ' '; 存儲過程聲明: oracle:  procedure regNewReco

C#數據庫

一.連接數據庫 1.定義連接數據庫的字符串 1 string source = "server=(local); integrated security=SSPI; database=test"; 2.數據庫連接開啟.關閉 1 var conn = new SqlConnection(source): 2 conn.Open() 3 // do something 4 conn.Close() 3.對數據庫連接進行優化 數據庫連接屬於稀缺資源的使用,使用完後必須立即關閉避免出現資源匱乏

MS SQL Server 查看數據庫大小及壓縮Log文件

公司每月要統計人事數據庫的大小 下面是統計SQL Server數據庫大小的SQL語句: SELECT DB_NAME(database_id) AS [Database Name], [Name] AS [Logical Name], ((size * 8) / 1024) AS [Size(MB)],--size的原始單位是bit,所以要先乘以8轉成Byte,再乘以1024轉成MByte. [differential_base_time] AS [Differential Base Time]

python連接mysql數據庫

第一步,安裝mysql數據庫. 這裏我安裝的是mariadb數據庫,版本5.5,並且配置好了字符集.此處不詳細敘述,相信大家沒有問題. 第二步,安裝mysql驅動. 首先說明一下有兩個主要的驅動: mysql-connector-python:是MySQL官方的纯Python驱动: MySQL-python:是封装了MySQL C驱动的Python驱动. 我一直都喜歡官方出品的東西,質量有保障嘛. 接下來安裝mysql-connector-python: 一開始打算使用命令安裝 pip inst