【问题标题】:Use MongoClient pooling without embedding server.listen() in NodeJS使用 MongoClient 池而不在 NodeJS 中嵌入 server.listen()
【发布时间】:2015-01-18 14:26:35
【问题描述】:

我正在尝试将单个 MongoDB 连接池用于在两个端口上运行几个服务的节点脚本。

根据在线教程,使用池连接的一种方法是:

...
var mongoClient = new MongoClient.connect("mongodb://user:pwd@server:port", function (err, db) {
  //Program here
  server.listen(8081);
});
...

是否有一种方法允许我在使用 mongoClient 函数之外的 server.listen 事件时使用池?

谢谢,

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    您可以尝试重用/导出数据库/集合变量。 完整示例可在此处获得:http://blog.mongolab.com/2013/11/deep-dive-into-connection-pooling/

    【讨论】:

    • 为链接干杯。但是,本教程重申在应用响应之前建立连接。无论 Mongo 连接状态如何,我都想运行代码,并继续提供其他服务,例如基于程序的计算器,即使数据库不可用。
    • 虽然从最初的问题来看并不是很清楚。在这种情况下,您可能想要查看 Promise(例如 bluebird 甚至是诸如 mongoskin 之类的 mongo 驱动程序的 Promise 包装器之类的东西。这里还讨论了很多示例,例如 stackoverflow.com/a/23597225/1808209
    猜你喜欢
    • 2016-05-23
    • 2018-12-30
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    相关资源
    最近更新 更多