1. 程式人生 > >mongodb TypeError: db.collection is not a function 解決辦法

mongodb TypeError: db.collection is not a function 解決辦法

TypeError: db.collection is not a function 解決辦法

這裡寫圖片描述

我也是自己踩坑(三個小時)剛剛出來的

  • 在使用 MongoDB 資料庫 collection方法獲取合集的時候,突然報了一個這樣的錯誤,看了好多的方法也沒有解決(也是我太菜了,英文文章看太懂);

話不多說,上解決辦法

最簡單的
  • 使用版本降級的方法
  • 這裡寫圖片描述
    1. 手動將 package.json 檔案裡的 mongodb模組的版本修改降到 3.0 以下的版本
    2. 然後刪掉之前的 node_modules 依賴包資料夾, 重新使用 npm installcnpm install
      下載依賴包
    3. 然後就可以使用之前方法了
入坑級方法(不修改版本)
  • 使用符合 MongoDB 3.0 以上版本的語法
  • 直接上程式碼了
    • 原始 2.0 版本的程式碼
// API 2.0寫法
    db.colleaction(colleactionsName);
  • 3.0版本程式碼
    • 3.0 版本的 回撥函式裡的 err,db db - -返回的實際上是您嘗試訪問的物件的父物件
    • 為了訪問正確的物件,你需要再引用你的資料庫名
    • 然後通過這次引用的賦值的 mydb 變數 就可以呼叫collection方法了
//嘗試 3.0 寫法 成功
    const mydb = db.db('需要引用的資料庫名'
); mydb.collection(colleactionsName);
個人淺顯理解,歡迎大牛幫忙提出更好的建議