2017-02-11 5 views
5

मैंने MONGODB NODE.JS DRIVER 2.2 से कोड कॉपी किए और थोड़ा संशोधित किया।मोंगोड ड्राइवर: मेजबान और विकल्पों के बीच डिलिमिटिंग स्लैश

// 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

असल में, मैंने उखाड़ फेंका है, लेकिन यह प्रदर्शित नहीं होगा क्योंकि मेरा प्रतिनिधि 15. से कम है। –

संबंधित मुद्दे