NodeJS串連MongoDB資料庫時報錯的快速解決方案_node.js

來源:互聯網
上載者:User

今天第一次嘗試串連MongoDB資料庫,具體步驟也很簡單。

首先,通過NodeJS運行環境安裝MongoDB包,進入要安裝的目錄,執行語句

npm install mongodb安裝成功後,通過如下語句測試與資料庫建立串連幾關閉資料庫

var mongo = require('mongodb');var host = "localhost";var port = mongo.Connection.DEFAULT_PORT;//建立MongoDB資料庫所在伺服器的Server對象var server = new mongo.Server(host, port, {auto_reconnect:true});//建立MongoDB資料庫var db = new mongo.Db('node-mongo-example', server, {saft:true});//資料庫連接操作db.open(function(err, db){  if(err) {    console.log('串連資料庫發生錯誤');    throw err;}  else{    console.log("成功建立資料庫連接");    db.close();  }});db.on('close',function(err,db){  if (err) {throw err;}  else{    console.log("成功關閉資料庫");  }});

在node的運行環境中運行以上代碼所在檔案,出現如下所示錯誤:

mongodb資料庫的預設連接埠為27017,所以我把port改成預設的27017,運行檔案後,仍然報錯,如下所示:

很顯然,錯誤本身不是連接埠號碼屬性問題,而是無法串連預設的MongoDB資料庫服務,最後終於明白造成以上錯誤的原因是沒有運行資料庫伺服器的可執行檔。

具體啟動方法為:

在運行環境中進入MongoDB的安裝位置,進入bin檔案夾下,運行如下代碼:

D:\Mongodb\bin>mongod --dbpath D:\Mongodb\data  

一般情況下,上面的node.js代碼就可以正常運行了

但在最初嘗試時,我還遇到過一個問題,就是啟動上面的資料庫伺服器時,在無法啟動,在反饋資訊中有一條錯誤為:

2015-12-13T00:49:12.195+0600 I STORAGE [initandlisten] exception in initAndListen: 28663 Cannot start server. The default storage engine 'wiredTiger' is not available with this build of mongod. Please specify a different storage engine explicitly, e.g. --storageEngine=mmapv1., terminating 2015-12-13T00:49:12.195+0600 I CONTROL [initandlisten] dbexit: rc: 100

尋找資料發現,這是由於版本衝突造成儲存路徑的混淆,具體解決方案為在bin目錄下運行如下語句:

D:\MongoDB\bin mongod --storageEngine=mmapv1 --dbpath [your-path]

 再啟動資料庫服務就成功了。

可以通過訪問http:\\localhost:27017,可以看到如下提示:

It looks like you are trying to access MongoDB over HTTP on the native driver port.就可以啟動成功了!

以上這篇NodeJS串連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.