node.js - 如何在 Node.js Web 应用程序中管理 MongoDB 连接?

标签 node.js mongodb database-connection connection-pooling

我正在使用 node-mongodb-native用MongoDB驱动来写一个网站。

我有一些关于如何管理连接的问题:

  1. 对所有请求只使用一个 MongoDB 连接就足够了吗?是否存在性能问题?如果没有,我可以设置一个全局连接以在整个应用程序中使用吗?

  2. 如果不是,我在请求到达时打开一个新连接,并在处理请求时关闭它是不是很好?打开和关闭连接是否昂贵?

  3. 我应该使用全局连接池吗?我听说驱动程序有一个 native 连接池。这是一个不错的选择吗?

  4. 如果我使用连接池,应该使用多少个连接?

  5. 还有其他需要注意的地方吗?

最佳答案

The primary committer to node-mongodb-native says :

You open do MongoClient.connect once when your app boots up and reuse the db object. It's not a singleton connection pool each .connect creates a new connection pool.

所以,要直接回答您的问题,重用 MongoClient.connect() 产生的 db 对象。这为您提供了池化,并且与在每个数据库操作上打开/关闭连接相比,将显着提高速度。

关于node.js - 如何在 Node.js Web 应用程序中管理 MongoDB 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10656574/

相关文章:

mongodb - 如何将 Golang big.Int 存储到 MongoDB 中

mysql - 如何使用c语言连接并插入记录到mysql?

java - 多个线程同时使用同一个 JDBC 连接

html - 验证密码和用户名nodejs mysql

python - Mongodb - 可靠性问题仍然重要吗?

node.js - Socket.io 断开 Ping 超时错误

mongodb - 与 MongoDB 互斥

java - 在执行多个 SQL 查询时,我应该尝试使用相同的连接吗?

javascript - 仅在一天中的特定时间按设定的时间间隔运行函数

javascript - 如何发送 URL 中间带有参数的 JSON 请求