gpt4 book ai didi

javascript - Mongo db.getCollection 不是函数

转载 作者:可可西里 更新时间:2023-11-01 09:54:00 25 4
gpt4 key购买 nike

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

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

TypeError: db.getCollection is not a function

如果我尝试直接通过名称访问我的收藏,我会收到错误

TypeError: Cannot read property 'insert' of undefined

我在 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() (或其他类似方法之一)。

collection(name, options, callback){Collection}

Fetch a specific collection (containing the actual collection information). If the application does not use strict mode you can use it without a callback in the following way: const collection = db.collection('mycollection');

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com