当前位置: 首页 > 面试题库 >

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

晏修诚
2023-03-14
问题内容

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

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

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

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


问题答案:

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

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



 类似资料:
  • 我在我的应用程序中保存了和的一个实例,每次我想执行一些操作时,我都会调用。 我想知道我是否需要显式关闭连接,就像JDBC中的一样。 要强调的是,我只有一个实例。我的问题不是关于关闭,而是关闭我相信它在调用时打开的连接。

  • 问题内容: 我从Mongoose网站上阅读了快速入门,几乎复制了代码,但是无法使用Node.js连接MongoDB。 这是我的代码。控制台仅打印,不打印。我哪里错了? 问题答案: 调用时,它将建立与数据库的连接。 但是,您在以后的某个时间点(处理请求时)附加了事件侦听器,这意味着该连接可能已经处于活动状态,并且该事件已经被调用(您尚未监听它)。 。 您应该重新排列代码,以使事件处理程序尽可能(及时

  • 问题内容: 这是问题的简化版本,但是基本上,我试图用mongoose打开2个mongodb连接,并且给我“试图打开未关闭的连接”。错误。 代码示例: 任何想法如何使其工作? 问题答案: 打开与数据库的默认连接。由于需要两个不同的连接,请使用。 API链接:http : //mongoosejs.com/docs/api.html#index_Mongoose- createConnection

  • 问题内容: 我在不是要连续运行的脚本中使用猫鼬,而且我面对的似乎是一个非常简单的问题,但我找不到答案。简单地说,只要我调用将请求发送到mongodb的任何mongoose函数,我的nodejs实例就不会停止,而我必须使用Ctrl + c或Program.exit()手动将其杀死。 该代码大致如下所示: 我尝试将调用添加到mongoose.disconnect(),但没有结果。除此之外,一切都很好(

  • 问题内容: 我有一个网站,它的点击率很高,我遇到了问题,JDCB连接错误。 我对关闭有点困惑,我需要关闭还是仅关闭就足够了。 另外,我需要关闭它吗? 问题答案: 是的,您必须关闭PreparedStatement和结果集,因为它们可能导致内存泄漏。有关更多信息,请访问 http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

  • 问题内容: 我正在尝试通过Mongoose设置MongoDB自动重新连接功能。我尝试通过该选项的所有方式均无效,或者至少未发出该事件。 我尝试过的 如果其中之一是正确的,则应触发该事件并在控制台中记录一条消息,但是这永远不会发生。 如果重新连接前有延迟,有人知道如何配置吗? 提前致谢 对于任何寻找到这一点,看看这个和这个问题在猫鼬库。 问题答案: 我和您有同样的问题,而robertklep的解决方