我在我的应用程序中使用Node原生客户端1.4,并在文档中发现了一些令人困惑的东西:
连接池是由驱动程序维护的数据库连接缓存,以便在需要新的数据库连接时可以重用连接。为减少应用程序创建的连接池数量,我们建议只调用MongoClient.connect一次并重用回调返回的数据库变量:
阅读此内容时会有几个问题:
连接池是由驱动程序维护的数据库连接缓存,以便在需要新的数据库连接时可以重用连接。为减少应用程序创建的连接池数量,我们建议只调用MongoClient.connect一次并重用回调返回的数据库变量:
阅读此内容时会有几个问题:
- 这是否意味着db对象也维护副本集提供的故障转移功能?我认为这应该是MongoClient的工作(不确定,但C#驱动程序文档确实说MongoClient维护副本集)
- 如果我正在重复使用db对象,那么何时应调用
db.close()
函数?我在每个示例中都看到了db.close()
。但是如果我们要重复使用它,不应该保持它打开吗?
server.on("close", ...)
? - yaoxing