簡體   English   中英

db.collection不是函數

[英]db.collection is not a function

我試圖使用NodejsMongoDB集合中插入一個條目。 這是我的代碼:

碼:

const MongoClient = require('mongodb').MongoClient;

MongoClient.connect('mongodb://localhost:27017/TodoApp', (err, db) => {
  if (err) {
    return console.log('Unable to connect to MongoDB server');
  }
  console.log('Connected to MongoDB server');

  db.collection('Todos').insertOne({
    text: 'Something to do',
    completed: false
  }, (err, result) => {
    if (err) {
      return console.log('Unable to insert todo', err);
    }

    console.log(JSON.stringify(result.ops, undefined, 2));
  });

  db.close();
});

當我運行代碼時,它顯示以下錯誤:

錯誤:

TypeError: db.collection is not a function

卸載現有的mongodb軟件包並使用以下命令重新安裝可解決問題

npm uninstall mongodb --save
npm install mongodb@2.2.33 --save 

版本MongoDB> = 3-該數據庫變量實際上是您嘗試訪問的對象的父對象。 如果您使用mongo 3+:

const myDb = db.db('YourDatabase') 
myDb.collection('YourDatabase).insertOne .... 

您可以按照以下方式重寫代碼

MongoClient.connect(url,(err,db) =>{ 
  const database= db.db('TodoApp')
  database.collection('Todos').insertOne({})
}

出現此錯誤的原因是NodeJs驅動程序的版本。 TypeError:db.collection不是函數。 如果版本> 3.0.1,則必須將數據庫更改為客戶端。 有關更多信息,請檢查此頁面,它對我有幫助! [ 使用MongoClient v3.0時db.collection不是功能

希望有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM