MongoError: topology was destroyed解决方法

MongoError: topology was destroyed

分析得出,出现这个问题是因为,当mongodb尝试写入某个数据的时候,连接被中断了!

解决方法:检查代码中是否存在操作数据的过程中,意外地执行了client.close()关闭连接了mongod数据库,如果有则将client.close删除,只在最后才关闭连接。
如下代码所示就是简单的错误:


const MongoClient = require('mongodb').MongoClient

const url = "mongodb://localhost:27017"
const dbName = 'express-project'

// 连接数据库
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
  if (err) throw err
  console.log('数据库已连接')
  const db = client.db(dbName)
  //  -----------!!!!!!!!!!!这里不应该关闭连接,因为下面还要创建一个集合!!!!!!!!!!!---------------
  client.close()
  // 创建集合collection
  db.createCollection("user", (err, res) => {
    if (err) throw err
    console.log('创建集合')
  })
  client.close()
})

出现了两个close(),出错!需要将中途意外关闭数据库的语句删掉即可解决!

posted on 2019-03-27 15:07  Vexekefo  阅读(4238)  评论(0编辑  收藏  举报