Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js db.collection不是一个函数_Node.js_Mongodb_Nosql - Fatal编程技术网

Node.js db.collection不是一个函数

Node.js db.collection不是一个函数,node.js,mongodb,nosql,Node.js,Mongodb,Nosql,我尝试使用Nodejs在MongoDB集合中插入一个条目。这是我的密码: 代码: const MongoClient = require('mongodb').MongoClient; MongoClient.connect('mongodb://localhost:27017/TodoApp', (err, db) => { if (err) { return console.log('Unable to connect to MongoDB server'); }

我尝试使用
Nodejs
MongoDB
集合中插入一个条目。这是我的密码:

代码:

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
当我运行代码时,它显示以下错误:

错误:

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

您可以按如下方式重写代码

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

您可以按如下方式重写代码

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

卸载现有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 .... 

卸载现有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 .... 

此错误的原因是NodeJs驱动程序的版本TypeError:db.collection不是函数。如果版本>3.0.1,则必须将db更改为客户端。有关更多信息,请查看此页面,它帮助了我! [


希望有帮助!

此错误的原因是NodeJs驱动程序的版本。类型错误:db.collection不是函数。如果版本>3.0.1,则必须将db更改为客户端。有关更多信息,请查看此页面,它帮助了我! [


希望有帮助!

似乎相关:您正在使用哪个版本的Mongo?可能的副本似乎相关:您正在使用哪个版本的Mongo?可能的副本