nodejs 3.0.x的MongoDB驱动程序不会自动重新连接

时间:2018-02-19 18:53:15

标签: node.js database mongodb

我正在使用MongoDB的驱动程序2.2.34来对抗Mongo 2和3.6,它运行得很好。我的应用程序尝试插入一些数据并在发生错误时抛出错误。在我的测试中,我停止数据库服务器强制错误并稍后再次连接。它按预期工作:

  • [连接丢失]
  • 尝试插入数据
  • 缓冲它
  • 尝试插入数据
  • 抛出错误
  • [MongoDB Up]
  • 自动恢复
  • 尝试插入数据 - > OK!

然而,看起来像驱动程序3.0.2无法从连接丢失中恢复,这在2.2.34中运行良好。接下来,您可以看到[简化]代码。

你知道什么是错的吗?

async connect() {
   let database = await MongoClient.connect('database-url', {bufferMaxEntries:1});
   this.db = database.db('my-database-name')
}

[...]

async saveData(myData) {
    [...]
    try {
       result = await this.db.collection("collection").insertOne(myData.data);
    } catch (err) {
        throw new Error();
    }
}

0 个答案:

没有答案