一尘不染

我需要手动关闭猫鼬连接吗?

node.js

Node,Mongoose和Mongodb的新手-尚未阅读源代码…

我有一个Node应用程序,它将打开一个文件,将行解析为记录并将记录保存到mongodb。记录是Mongoose模型对象,要将它们保存到mongodb中,我要做的就是调用save它们上的方法。

所以现在我都担心猫鼬正在管理的联系db = mongoose.connect(url)。我需要手动关闭它吗?如果是这样,我什么时候应该关闭它(由于所有事情都是异步发生的,所以很难说何时关闭连接)?

看来,猫鼬不仅可以保持连接打开,还可以防止脚本终止。调用save所有对象后,可以安全关闭猫鼬连接吗?否则,鉴于保存的异步性质,将很难确切知道何时关闭连接。


阅读 221

收藏
2020-07-07

共1个答案

一尘不染

您确实需要调用mongoose.disconnect()以关闭连接,但还需要等到所有save调用都完成其异步工作(即称为回调)后,再执行此操作。

因此,要么简单地统计仍要跟踪的尚待解决的问题,要么使用流控制框架async来做一些更优雅的事情。

2020-07-07