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(),出錯!需要將中途意外關閉數據庫的語句刪掉即可解決!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM