標籤:12px alt require 對象建立 pac cti server 分享 src
Mongodb資料庫連接
1. 首先我們需要 在包中安裝 mongodb, 使用命令: npm install mongodb; 在安裝包後,我們需要引用該包;如下:
var mongo = require(‘mongodb‘);
在Node.js中,當需要串連Mongodb資料庫時,首先需要建立一個Mongodb資料庫所在伺服器的Server對象,作用是指定需要串連的MongoDB資料庫所在的伺服器。
2. 建立Server對象,如下命令:
var server = new mongo.Server(host, port, [options]);
參數host: 是指定伺服器所在的地址;
參數port:是指定伺服器的連接埠號碼。
options參數值是一個對象,用於指定伺服器需要選用的一些選項,具體的包含哪些對象可以自己百度下;這邊介紹一下最常用的參數;
auto_reconnect: 該屬性為布爾值,當屬性值為true時,在用戶端與伺服器串連過程中發生錯誤時自動重建串連,預設為false。
3. 建立資料庫為DB對象;
在MongoDB伺服器對象建立成功後,需要建立一個代表MongoDB資料庫的DB對象,建立方法如下:
var db = new mongo.Db(databaseName, server, [options]);
databaseName: 該參數是必須的,用於指定需要串連的資料庫名;
server: 用於指定該資料庫所在的伺服器。
options為一個對象,參數可選的,具體的參數自己百度,這邊介紹一些常用的參數。
safe: 是一個布爾值,當屬性值為true時,使用getLastError命令執行資料的存取操作,該命令返回存取操作的執行結果,預設為false;
4. 資料庫連接
在Db對象建立後,需要使用對象的open方法執行資料庫的連結操作,該方法使用如下所示:
db.open(callback);
callback 是一個回呼函數,用於指定執行資料庫連接操作後返回的回呼函數,回呼函數指定方法如下:
function(err, db) { }
在該回呼函數中,使用二個參數,第一個參數為連結資料庫失敗時拋出的錯誤對象,第二個參數為一個Db對象,代錶鏈接成功的資料庫,當資料庫連接失敗時,該參數值為null;
5. 關閉資料庫
當一個資料庫不再需要使用時候,可以使用資料庫物件的close方法關閉資料庫,該方法如下所示:
db.close([forceClose], [callback]);
forceClose 參數值為一個布爾值,當該參數值為true時,強制關閉該資料庫,關閉資料庫後,不可再使用open方法開啟該資料庫。
當參數值為false,不強制關閉該資料庫,可以使用該資料庫物件的open方法開啟該資料庫。
callback 為一個函數,用於指定關閉資料庫連接操作後返回的回呼函數。該回呼函數指定如下所示:
function (err) {}
該回呼函數有一個參數值,表示的是為連結資料庫失敗時拋出的錯誤對象。
6. 監聽資料庫的close事件
當資料庫關閉時,觸發資料庫的對象的close事件,可以通過監聽資料庫物件的close事件並指定回呼函數的方法指定當關閉資料庫操作執行結束時
所需要執行的處理,如下代碼:
function(err, db) {}
該回調有2個參數,第一個參數為關閉資料庫失敗時拋出的錯誤對象,第二個參數值為成功關閉的資料庫物件,當關閉資料庫失敗時該參數值為null.
下面是連結資料庫的簡單demo,代碼如下:
package.json 代碼如下:
{ "name": "mdb", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "mongodb": "^2.2.33" }}
在項目中的根目錄下建立一個 app.js, 代碼如下:
const mongo = require(‘mongodb‘);const Server = mongo.Server;const Db = mongo.Db;const server = new Server(‘localhost‘, ‘27017‘, { auto_reconnect: true });const db = new Db(‘dataDb‘, server, { safe: true });db.open(function(err, db) { if (err) { throw err; } else { console.log(‘成功建立資料庫連接‘); db.close(); }});db.on(‘close‘, function(err, db) { if (err) { throw err; } else { console.log(‘成功關閉資料庫連接‘); }});
然後在項目根目錄下 執行 node app.js, 如所示:
注意:在安裝 mongodb時候,一定是需要是 2.2.33版本的mongodb, 如果我們預設使用 npm install mongodb的話,會預設安裝 ^3.0.10
這個版本的,會導致資料庫連接失敗;如所示:
Mongodb資料庫連接