我正在使用MongoDB的驱动程序2.2.34来对抗Mongo 2和3.6,它运行得很好。我的应用程序尝试插入一些数据并在发生错误时抛出错误。在我的测试中,我停止数据库服务器强制错误并稍后再次连接。它按预期工作:
然而,看起来像驱动程序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();
}
}