我是比較新的Node.js的嘗試使用mocha框架和mongodb驅動程序來測試與mongodb的連接。MongoClient.connect不執行回調函數
Node.js的版本 - 6.11.3
MongoDB的驅動程序版本 - 2.2.31
Mondodb版本 - 3.4.7
這是我的js文件:
var should = require("should");
var expect = require('chai').expect;
var cfg = require('../config');
var uri = cfg.mongouri;
var MongoClient = require('mongodb').MongoClient, Logger =
require('mongodb').Logger;
Logger.setLevel('debug');
describe("mongoconnection", function() {
describe("fetch data", function() {
it("should fetch data from db", function (done) {
MongoClient.connect(uri,function(err, db) {
if (err) {
throw err;
} else {
console.log("successfully connected to the database");
}
db.close();
});
done();
});
});
});
然而中,代碼
function(err, db) {
if (err) {
throw err;
} else {
console.log("successfully connected to the database");
}
db.close();
}
的這一部分
從未得到執行,我無法建立連接,例如我沒有得到控制檯日誌和例外。
調試信息:
[DEBUG-連接:9352] 1506430786041創建與項[{ 「主機」 連接0:HOST, 「端口」:PORT, 「尺寸」:5 「的keepAlive」:真的, 「keepAliveInitialDelay」:300000, 「無延遲」:真實的, 「connectionTimeout」:30000, 「了socketTimeout」:360000, 「SSL」:真實的, 「CA」:空, 「CRL」:空, 「證書」:爲空, 「rejectUnauthorized」:假 「promoteLongs」:真 「promoteValues」:真 「promoteBuffers」:假 「checkServerIdentity」:真}] {類型: '調試', 消息:「創建與選擇連接0 [{」舉辦 「:主機,」 口 「:PORT,」 大小 「:5」 的keepAlive 「:真實的,」 keepAliveInitialDelay 「:300000,」 無延遲 「:真實的,」 connectionTimeout 「:30000,」 了socketTimeout 「:360000,」 SSL」 :真, 「CA」:空, 「CRL」:空, 「證書」:爲空,「rejectUna uthorized「:false,」promoteLongs「:true,」promoteValues「:true,」promoteBuffers「:false,」checkServerIdentity「:true}]', className:'Connection', pid:9352, date:1506430786041}
也已經檢查了連接字符串是正確的,我可以通過建立其他應用程序(在了SoapUI執行Groovy腳本)連接到它。
我停留在這一點上,有人可以幫助我,在此先感謝。
感謝您的幫助! – penazik
不客氣,如果它工作,你可以標記它是正確的:) –