標籤:
MongoDB是一個通用型的NoSQL,在很多地方得到了廣泛的應用。接下來我們看如何在Node.js中使用MongoDB資料庫。
1、環境安裝
首先從MongoDB官網中下載、安裝,配置好環境變數,保證mongod命令可以順利啟動。然後利用npm install mongodb安裝MongoDB模組。
2、啟動資料庫
我們在命令列輸入mongod命令,啟動資料庫。MongoDB預設綁定連接埠27017,要防止其他應用佔用了這個連接埠,導致資料庫無法啟動。當資料庫成功啟動後,會出現OK提示,如所示:
然後我們可以輸入mongo命令,就可以在命令列中對資料庫進行操作。
3、插入操作
啟動資料庫後,我們先編寫插入操作。
var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) { if (err) throw err; client.collection(‘test_insert‘, function(err, collection) { if (err) throw err; collection.insert( { "title": "I like cake", "body": "It is quite good." }, {safe: true}, function(err, documents) { if (err) throw err; //console.log(‘Document ID is: ‘ + documents[0]._id); } ); console.log(‘We are now able to perform queries.‘); });});
為了檢驗資料是否真的被插入資料庫,我們在命令列執行如下操作(得先輸入mongo命令):
可以看到,資料確實被插入到資料庫mydatabase的test_insert集合中。
4、查詢操作
var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) { if (err) throw err; client.collection(‘test_insert‘, function(err, collection) { if (err) throw err; collection.find({"title": "I like cake"}).toArray( function(err, results) { if (err) throw err; console.log(results); } ); });});
運行上面的代碼,得到的結果如下:
可以看出,這正是我們插入的資料。
5、更新操作
var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) { if (err) throw err; client.collection(‘test_insert‘, function(err, collection) { if (err) throw err; collection.update({"title": "I like cake"}, {$set: {"body": "It is so bad"}}, {safe: true}, function(err) { if (err) throw err; } ); });});
運行上面的代碼,結果如下:
可以看到,文檔的body已經被更新。
6、刪除操作
var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) { if (err) throw err; client.collection(‘test_insert‘, function(err, collection) { if (err) throw err; collection.remove({"title": "I like cake"}, {safe: true}, function(err) { if (err) throw err; } ); });});
運行代碼後,結果如下:
文檔被刪除。
Node.js中使用MongoDB