无法通过js连接到mongo db

我写了一个代码,用于集成所有types的社交networkinglogin和nodejs。 这是我的server.js

// get all the tools we need var express = require('express'); var app = express(); var port = process.env.PORT || 8080; var mongoose = require('mongoose'); var passport = require('passport'); var flash = require('connect-flash'); var morgan = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var session = require('express-session'); var configDB = require('./config/database.js'); // configuration =============================================================== mongoose.connect(configDB); // connect to our database // require('./config/passport')(passport); // pass passport for configuration // set up our express application app.use(morgan('dev')); // log every request to the console app.use(cookieParser()); // read cookies (needed for auth) app.use(bodyParser()); // get information from html forms app.set('view engine', 'ejs'); // set up ejs for templating // required for passport app.use(session({ secret: '234545671290eftg5678qwer235623' })); // session secret app.use(passport.initialize()); app.use(passport.session()); // persistent login sessions app.use(flash()); // use connect-flash for flash messages stored in session // routes ====================================================================== //require('./app/routes.js')(app, passport); // load our routes and pass in our app and fully configured passport // launch ====================================================================== app.listen(port); console.log('The magic happens on port ' + port); 

configuration/ database.js

 module.exports = { 'url' : 'mongodb://localhost27017:' // looks like mongodb://<user>:<pass>@mongo.onmodulus.net:27017/Mikha4ot }; 

当我运行node server ,出现以下错误:

 events.js:72 throw er; // Unhandled 'error' event ^ Error: failed to connect to [[object Object]:27017] at null.<anonymous> (/home/ajay/Desktop/NodeAuthentication/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:555:74) at emit (events.js:106:17) at null.<anonymous> (/home/ajay/Desktop/NodeAuthentication/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:156:15) at emit (events.js:98:17) at Socket.<anonymous> (/home/ajay/Desktop/NodeAuthentication/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:534:10) at Socket.emit (events.js:95:17) at net.js:834:16 at process._tickCallback (node.js:448:13) 

我在这两行之间混淆了:

 var configDB = require('./config/database.js'); 

 mongoose.connect(configDB); // connect to our database 

我应该使用

 mongoose.connect(configDB.url); ?? 

我该如何解决?

config / database.js中有一个错字。 您不指定数据库名称和冒号必须介于localhost27017之间:

 module.exports = { 'url' : 'mongodb://localhost:27017/my-test-db' // looks like mongodb://<user>:<pass>@mongo.onmodulus.net:27017/Mikha4ot }; 

在连接方法中你可以把对象或string,所以你应该使用它作为问题的build议:

 mongoose.connect(configDB.url);