首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >何时关闭Nodejs中的MongoDB数据库连接

何时关闭Nodejs中的MongoDB数据库连接
EN

Stack Overflow用户
提问于 2011-12-04 15:17:34
回答 8查看 79.4K关注 0票数 86

通过Node MongoDB本机驱动程序与Nodejs和MongoDB一起工作。需要检索一些文档,并进行修改,然后将它们保存回来。这是一个示例:

db.open(function (err, db) {
  db.collection('foo', function (err, collection) {
    var cursor = collection.find({});
    cursor.each(function (err, doc) {
      if (doc != null) {
        doc.newkey = 'foo'; // Make some changes
        db.save(doc); // Update the document
      } else {
        db.close(); // Closing the connection
      }
    });
  });
});

对于异步性质,如果更新文档的过程花费更长的时间,那么当游标到达文档的末尾时,数据库连接将关闭。并非所有更新都会保存到数据库中。

如果省略了db.close(),则所有文档都会正确更新,但应用程序会挂起,永远不会退出。

我看到一个帖子建议使用计数器来跟踪更新的数量,当更新数量回落到零时,然后关闭数据库。但是我在这里做错了什么吗?处理这种情况的最佳方法是什么?是否必须使用db.close()来释放资源?或者需要打开一个新的数据库连接?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8373905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档