Mongodb資料庫連接

來源:互聯網
上載者:User

標籤: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資料庫連接

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.