我在MongoDB中使用node-mongodb-native驱动程序来编写网站。
我对如何管理连接有一些疑问:
仅使用一个MongoDB连接就可以处理所有请求是否足够?是否存在性能问题?如果没有,是否可以设置全局连接以在整个应用程序中使用?
如果没有,如果在请求到达时打开一个新连接,并在处理请求时将其关闭,那会很好吗?打开和关闭连接是否昂贵?
我应该使用全局连接池吗?我听说驱动程序具有本地连接池。这是一个好选择吗?
如果使用连接池,应该使用多少个连接?
还有其他我应该注意的事情吗?
node-mongodb-native的主要提交者说:
您的应用程序启动并重新使用db对象时,只需打开一次do MongoClient.connect。每个.connect都不是一个单例连接池。
因此,要直接回答您的问题,请 重复使用产生的db对象MongoClient.connect()。与每个数据库操作上的打开/关闭连接相比,这可以为您提供缓冲,并且速度会明显提高。
MongoClient.connect()