javascript - 尝试删除/更新文档时出现“mongoError:拓扑被破坏”
问题描述
我正在尝试从使用 MongoDB 作为其数据库的 NodeJS 制作一个不和谐的机器人。当我尝试删除或更新文档时,有时会返回mongoError: Topology was destroyed
. 我之前已经阅读过这个错误,它说连接被中断。
这是我的数据库处理程序的代码:
class DatabaseHandler {
constructor(client) {
this.client = client;
}
async connect(callback) {
try {
await this.client.connect();
await callback(this.client);
} catch (err) {
console.error(err);
} finally {
this.client.close();
console.log("CLIENT CLOSED");
}
}
}
module.exports = DatabaseHandler;
这里是发生错误的地方:
DB.connect(async (client) => {
console.log(ObjectId(this._id));
let DBList = await client.db("Giveaways").collection("giveawayData");
let delVal = {
_id: ObjectId(this._id)
};
await DBList.deleteOne(delVal); // error occurs here
})
我不认为是this.client.close()
因为它是在所有操作完成后执行的。