我正在nodejs + express + mongodb中创建一个示例库应用程序。当我运行gulp serve命令时,服务器启动完美。当我转到特定的mongodb页面然后它给出错误insertMany不是一个函数。
var express = require('express');
var adminRouter = express.Router();
var mongodb = require('mongodb').MongoClient;
var books = [
{
title: 'world',
genre: 'Lorem Ipsum text changing occured',
author: 'Rakesh',
read: false
},
{
title: 'Make of the world',
genre: 'Digital India towards occured',
author: 'Jumanji',
read: false
}
];
var router = function (nav) {
adminRouter.route('/addBooks')
.get(function (req, res) {
var url = 'mongodb://127.0.0.1:27017/admin';
mongodb.connect(url, function (err, db) {
var collections = db.collections('books');
collections.insertMany(books,
function (err, results) {
res.send(results);
db.close();
}
);
});
});
return adminRouter;
};
module.exports = router;
答案 0 :(得分:0)
行var collections = db.collections('books');
中的语法中存在拼写错误。节点mongo驱动程序只能解释db.collection()函数而不是db.collections(),这实际上是语法错误。
使用db.collection('books')
代替db.collections('books')
,这应该可以修复错误。试一试,让我知道