gpt4 book ai didi

node.js - 当我尝试使用工作 URL 连接到同一个数据库时,Mongoose 永远不会返回它的 promise

转载 作者:太空宇宙 更新时间:2023-11-03 23:27:24 25 4
gpt4 key购买 nike

我有一个本地托管的 mongodb,可以使用 mongodb.MongoClient 连接到它。

工作代码:

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 与数据库通信的 API,因此我不想使用 mongodb 重做这一切。我该如何解决这个问题?

*config.url 和 db.url 是从同一个文件加载的,并且它是有效且正在运行的 mongodb。

最佳答案

这真的很容易修复。感谢@Bhavik询问我使用的是什么版本。

我通过在packages.json中指定最新版本将mongoose更新到4.8.1,问题已解决。

关于node.js - 当我尝试使用工作 URL 连接到同一个数据库时,Mongoose 永远不会返回它的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42235508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com