[英]mongoDB connect (via Node.js driver) doesn't give me console log msg
我在server.js文件上有這個代碼。 我想連接到這個mongoDB數據庫,然后獲得一個控制台日志指示。
但是,沒有用於數據庫連接的控制台日志消息(對於服務器,我獲取日志消息)。 我甚至沒有收到錯誤消息,只有一條消息到控制台日志,http已連接(數據庫上沒有任何內容)。
為什么? 我的代碼謝謝
server.js
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var path = require('path');
var MongoClient = require('mongodb').MongoClient;
var assert = require('assert');
//more code that is not relevant
var url = 'mongodb://1.0.0.127:4444/small-talkz';
MongoClient.connect(url, function(err, db) {
console.log("Connected correctly to DB.");
db.close();
});
http.listen((process.env.PORT || 3000), function(){
console.log('listening on *:3000 '+ __dirname);
});
如Node.js驅動程序的文檔中所述,每次重試之間的默認重試次數為5和5000 ms。 因此,在回調中實際出現錯誤之前,您必須等待一段時間。 由於您當前沒有將錯誤寫入console
,因此您將看不到錯誤,但由於訪問db
而獲得錯誤,然后該數據為null
。
將其更改為
MongoClient.connect(url, function(err, db) {
if (err) {
console.log(err);
}
else {
console.log("Connected correctly to DB.");
db.close();
}
});
等一下,你會看到錯誤。 或者,減少重試次數或每次重試之間的延遲,以便更快地看到它失敗:)
看到錯誤后,您將能夠看到原因並修復它(可能是您的URI錯誤)或者至少您可以向我們提供更多信息。
嘗試使用此連接。 使用默認端口27017和localhost運行mongod。
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost:27017/table_name", function(err, db) {
if(err)
{
console.log(err);
}
else{
console.log("Connected correctly to DB.");
db.close();
}
});
});
如果它正在使用它,那么請確保您在特定的IP 1.0.0.127(奇怪的IP)和端口4444上運行mongo服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.