MongoDB:你应该多久打开和closures数据库? 为什么?

对于我打开数据库的每个请求,查询,closures数据库。

我偶尔碰到一个connection already opened问题。

我最终改变了configuration,只是打开mongo并保持打开状态。

这种方法有什么缺点?

谢谢!

(注意:使用node.js)

我看起来好像应该打开连接一次,并保持重用,至less使用节点本地驱动程序。 驱动程序开发人员在这里发现的主题的评论: https : //github.com/mongodb/node-mongodb-native/issues/84

这里的答案将取决于你正在运行的版本。 主要的github页面描述的方法涉及打开/closures连接“按需”。

目前正在正确地支持副本集并提供一些基本的连接池。 事实上,昨天刚刚进行了一次检查,以解决错误的清理连接错误的问题 。

鉴于文档提供了这种开放/closures的方法,这可能是要走的路。 这是我目前在我的应用程序中所做的。 至于你看到的问题,这实际上可能只是一个错误。 同样,驱动程序的版本是<1.0,昨天有一个类似于你正在经历的事情,所以可能会有一些问题。

编辑 :我应该补充一点,基督徒是一个伟大的人在自己的时间做这个工作在10gen团队有限的支持。 构build这样一个驱动程序是很多很多的工作,所以如果遇到像重新使用开放连接这样的错误,那么肯定会发现一个错误和/或提供修复。

我不能说node.js驱动程序,但是Java驱动程序被devise为以这种方式使用: http : //www.mongodb.org/display/DOCS/Java+Driver+Concurrency – 它在内部处理连接。 也许node.js驱动程序也是如此。 也许值得给驱动程序的开发者发邮件询问?