1
mongodb.MongoClientを使用して接続できるローカルにホストされたmongodbがあります。作業用URLを使用して同じデータベースに接続しようとすると、Mongooseはその約束を返すことはありません
の作業コード:
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);
この接続メソッドにコールバックを追加しましたが、コールされることはありません(エラーまたはエラーなし、この接続関数はコールバックには届きません)。
このレガシーアプリはすべて、mongooseを使用してデータベースと通信しているため、mongodbを使用してすべてをやり直したくありません。これをどうすれば解決できますか?
* config.urlとdb.urlは同じファイルから読み込まれ、有効で実行中のmongodbです。
あなたはどのバージョンのMongooseを使用していますか? – Bhavik
npm -vマングース:4.1.2 – RevertiveDeath