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(),出错!需要将中途意外关闭数据库的语句删掉即可解决!