首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MongoError:拓扑已关闭,请连接(client.close和client.connect问题)

这个错误表明您尝试在 MongoDB 客户端关闭后执行操作

代码语言:javascript
复制
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 结构来确保无论是否发生错误,客户端连接都会被正确关闭。

请注意以下几点:

  1. 使用 await client.connect() 等待连接成功后再执行数据库操作。
  2. finally 块中使用 await client.close() 确保连接被正确关闭。
  3. 如果您需要在多个地方执行数据库操作,请考虑将 client 对象作为参数传递,而不是在每个函数中创建新的客户端实例。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券