db.collection不是一个函数

Sou*_*hit 1 mongodb nosql node.js

我试图简单地在MongoDB集合中插入一个条目Nodejs.这是我的代码:

码:

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();
});
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,它显示以下错误:

错误:

TypeError: db.collection is not a function
Run Code Online (Sandbox Code Playgroud)

Prz*_* eS 5

卸载现有的mongodb软件包并使用以下命令重新安装解决了这些问题

npm uninstall mongodb --save
npm install mongodb@2.2.33 --save 
Run Code Online (Sandbox Code Playgroud)

版本MongoDB> = 3 - 该数据库变量实际上是您尝试访问的对象的父对象.如果你使用mongo 3+:

const myDb = db.db('YourDatabase') 
myDb.collection('YourDatabase).insertOne .... 
Run Code Online (Sandbox Code Playgroud)