今天第一次嘗試鏈接MongoDB數據庫,具體步驟也很簡單。node
首先,經過NodeJS運行環境安裝MongoDB包,進入要安裝的目錄,執行語句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的運行環境中運行以上代碼所在文件,出現以下所示錯誤:npm
mongodb數據庫的默認端口爲27017,因此我把port改爲默認的27017,運行文件後,仍然報錯,以下所示:服務器
很顯然,錯誤自己不是端口號屬性問題,而是沒法鏈接默認的MongoDB數據庫服務,最後終於明白形成以上錯誤的緣由是沒有運行數據庫服務器的可執行文件。測試
具體啓動方法爲:ui
在運行環境中進入MongoDB的安裝位置,進入bin文件夾下,運行以下代碼:this
D:\Mongodb\bin>mongod --dbpath D:\Mongodb\data
通常狀況下,上面的node.js代碼就能夠正常運行了spa
但在最初嘗試時,我還遇到過一個問題,就是啓動上面的數據庫服務器時,在沒法啓動,在反饋信息中有一條錯誤爲:日誌
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.
就能夠啓動成功了!
參考資料:http://chenzhou123520.iteye.com/blog/1582174
啓動mongoDB時出現的報錯:
一、Unable to connect MongoDB, please check your configurations. MongoDB said:Failed to connect to: 127.0.0.1:27017: 因爲目標計算機積極拒絕,沒法鏈接查看MongoDB故障old lock file,terminating的解決