这个错误表明您尝试在 MongoDB 客户端关闭后执行操作
const { MongoClient } = require('mongodb');
async function main() {
const uri = 'mongodb://localhost:27017';
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
console.log('Connected to MongoDB');
// 在这里执行您的数据库操作
const db = client.db('test');
const collection = db.collection('example');
const result = await collection.insertOne({ name: 'John Doe' });
console.log('Insert result:', result);
} catch (error) {
console.error('Error:', error);
} finally {
// 确保在所有情况下都关闭客户端连接
await client.close();
console.log('Disconnected from MongoDB');
}
}
main().catch(console.error);
在这个示例中,我们使用 try...catch...finally
结构来确保无论是否发生错误,客户端连接都会被正确关闭。
请注意以下几点:
await client.connect()
等待连接成功后再执行数据库操作。finally
块中使用 await client.close()
确保连接被正确关闭。client
对象作为参数传递,而不是在每个函数中创建新的客户端实例。领取专属 10元无门槛券
手把手带您无忧上云