未对数据库启用访问控制

时间:2017-06-07 02:48:00

标签: mongodb

我正在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;

Mongo cmd screenshots insertMany cmd not working

1 个答案:

答案 0 :(得分:0)

var collections = db.collections('books');中的语法中存在拼写错误。节点mongo驱动程序只能解释db.collection()函数而不是db.collections(),这实际上是语法错误。

使用db.collection('books')代替db.collections('books'),这应该可以修复错误。试一试,让我知道