У меня есть локально размещенный mongodb, с которым я могу подключиться к mongodb.MongoClient.Mongoose никогда не возвращает свое обещание, когда я пытаюсь подключиться к тому же db, используя рабочий URL
Рабочий код:
var mongoClient = require("mongodb").MongoClient;
...
var startApp = function(db) {
// Get our collections in an easy to use format
var database = {
chats: db.collection('chats'),
messages: db.collection('messages')
};
// Configure our routes
require('./app/routes')(app, database);
// START APP
// Start app on port
app.listen(port);
// Tell user the app is running
console.log("App running on port " + port);
// Expose app
exports = module.exports = app;
}
// DATABASE
var database = null;
mongoClient.connect(config.url, function(err, returnDB) {
if(err) {
console.log(err);
} else {
console.log("DB connected");
startApp(returnDB);
}
});
код Наследство, который больше не работает:
var mongoose = require('mongoose');
...
// Connect to DB
console.log('Connect to database (' + db.url + ')');
mongoose.connect(db.url);
Я добавил обратный вызов к этому методу подключения, но он никогда не вызывается (ошибка или отсутствие ошибки, эта функция подключения никогда не доходит до моего обратного вызова).
Все это устаревшее приложение опирается на API с помощью мангуста, чтобы поговорить с базой данных, поэтому я не хочу переделывать все это с помощью mongodb. Как я могу это исправить?
* config.url и db.url загружаются из одного файла, и это действительный и выполняемый mongodb.
Какую версию Mongoose вы используете? – Bhavik
npm -v mongoose: 4.1.2 – RevertiveDeath