我想使用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();
});
当我运行代码时,它显示以下错误:
错误:
TypeError: db.collection is not a function
答案 0 :(得分:5)
卸载现有的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 ....
答案 1 :(得分:2)
您可以按照以下方式重写代码
MongoClient.connect(url,(err,db) =>{
const database= db.db('TodoApp')
database.collection('Todos').insertOne({})
}
答案 2 :(得分:1)
此错误的原因是NodeJs驱动程序的版本。 TypeError:db.collection不是函数。。如果版本大于3.0.1,则必须将数据库更改为客户端。有关更多信息,请检查此页面,它对我有帮助! [db.collection is not a function when using MongoClient v3.0
希望有帮助!