我一直在尝试在计算机上设置基本的MongoDB示例。
但是我工作不多。

当我尝试从数据库中检索一个集合(只有一个)时,出现错误:



如果我尝试直接通过名称访问集合,则会收到错误消息



我在mLab上在线创建了数据库,因此我知道该集合存在。

这是我的server.js:

const express        = require('express');
const MongoClient    = require('mongodb').MongoClient;
const bodyParser     = require('body-parser');
const app            = express();
const db             = require('./db');
const port = 8000;

app.use(bodyParser.urlencoded({ extended: true }));

MongoClient.connect(db.url, (err, database) => {
  if (err) return console.log(err)
  require('./app/routes')(app, database);
  app.listen(port, () => {
    console.log('We are live on ' + port );
  });
})

这是我的路线:
module.exports = function(app, db) {
  app.post('/notes', (req, res) => {
    const note = { text: req.body.body, title: req.body.title };
    db.getCollection('facts').insert(note, (err, result) => {
      if (err) {
        res.send({ 'error': 'An error has occurred' });
      } else {
        res.send(result.ops[0]);
      }
    });
  });
};

为什么我不能访问getCollection()函数?

最佳答案

因为在mongodb js库(专有名称为node-mongodb-native)中,.getCollection()作为db对象上的方法不存在。

而是调用 db.collection() (或其他类似方法之一)。

关于javascript - Mongo db.getCollection不是函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47732177/

10-11 04:32