【发布时间】:2020-04-27 02:29:49
【问题描述】:
MongoDB 客户端连接似乎可以工作,但功能只是挂起。
app.js
async function test() {
console.log('Hello world');
await new Promise((resolve) => {
setTimeout(resolve, 50);
});
console.log('Bye world');
}
test();
当我在 cmd 上使用 node app.js 运行时,我得到了日志,并且 shell 按预期退出。 但是,当我运行此代码时 ->
async function test() {
console.log('Hello world');
await MongoClient.connect(MONGODB_URI);
console.log('Bye world');
}
test();
然后我使用 node app.js 再次运行。这次我也得到了两个日志,但进程永远不会退出。 这里发生了什么?我错过了一些非常明显的东西吗?
【问题讨论】:
-
您收到错误消息。使用
try catch看看会发生什么。可能是 mongo 没有连接。 -
@Ashh 我确实打印了客户端对象,我可以很好地访问数据库和集合。
-
您尝试使用的模式记录在哪里(连接方法返回一个承诺)?
-
@Oleg await 解析承诺并返回客户端。
标签: javascript node.js mongodb async-await