2017-02-11 21 views
5

MONGODB NODE.JS DRIVER 2.2のコードをコピーして少し修正しました。Mongodbドライバ:ホストとオプションの間のスラッシュの区切りがありません

// connect to mongodb 
var MongoClient = require('mongodb').MongoClient, 
f = require('util').format; 

var user = encodeURIComponent('admin'), 
password = encodeURIComponent('123456'), 
authMechanism = 'DEFAULT', 
authSource = 'admin'; 

// connection url 
var url = f('mongodb://%s:%[email protected]:27017?authMechanism=%s&authSource=%s', 
user, password, authMechanism, authSource); 

var db = null; 
MongoClient.connect(url, function(err, db) { //Here is line 20! 
    if(err) { 
     console.log('Unable to connect to the mongoDB server. Error:', err); 
    } 
    else { 
     console.log('Connection established to', url); 
     db = database // once connected, assign the connection to the global variable 
    } 
}) 

ただし、私は奇妙なエラーに遭遇しました。

Error: missing delimiting slash between hosts and options. 
at module.exports (/home/lixing/Dropbox/thesis/node_modules/mongodb/lib/url_parser.js:37:11) 
at connect (/home/lixing/Dropbox/thesis/node_modules/mongodb/lib/mongo_client.js:289:16) 
at Function.MongoClient.connect (/home/lixing/Dropbox/thesis/node_modules/mongodb/lib/mongo_client.js:113:3) 
at Object.<anonymous> (/home/lixing/Dropbox/thesis/server.js:20:13) 
at Module._compile (module.js:570:32) 
at Object.Module._extensions..js (module.js:579:10) 
at Module.load (module.js:487:32) 
at tryModuleLoad (module.js:446:12) 
at Function.Module._load (module.js:438:3) 
at Module.runMain (module.js:604:10) 

コンソールには、MongoClient.connectに問題があることが記載されています。

しかし、私はこの問題を解決できませんでした。それはバグですか、私の問題ですか?

ありがとうございました。

答えて

9

ポート番号とオプションの間に/がありません。接続文字列について

mongodb://%s:%[email protected]:27017/?authMechanism=%s&authSource=%s

詳細情報:https://docs.mongodb.com/manual/reference/connection-string/

+0

それは働きました。どうもありがとう。 –

+0

私は尋ねることが嫌いですが、それは正解であるので、アップアップすることができますか? – Jackowski

+0

実際、私はupvotedしましたが、私の担当者が15歳未満であるため表示されません。 –

関連する問題