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