【问题标题】:ReferenceError: err is not defined mongoose mongodbReferenceError: err 未定义 mongoose mongodb
【发布时间】:2021-04-16 00:10:37
【问题描述】:

当我运行这段代码时,它返回一个错误,指出错误未定义

这是我的代码

app.post('/tinder/cards', (req, res) => {
const dbCard = req.body;

Cards.create(dbCard, (err, data) => {
    if (err) {
        res.status(500).send(err);
    } else {
        res.status(201).send(data);
    }
});

app.get('/tinder/cards', (req, res) => {
Cards.find(err, data => {
    if (err) {
        res.status(500).send(err);
    } else {
        res.status(200).send(data);
    }
});

这是我对 MongoDB 架构的定义:

import mongoose from 'mongoose';

const cardSchema = mongoose.Schema({
    name: String,
    imgUrl: String,
});


export default mongoose.model('cards', cardSchema);

有人请帮我解决这个问题,谢谢!

【问题讨论】:

    标签: javascript database mongodb mongoose error-handling


    【解决方案1】:

    改变

    Cards.find(err, data => 
    

    这里它正在寻找过滤器/查询作为第一个参数,其中 err 变量未定义,因此您得到 ReferenceError。

    Cards.find(query, (err, data) => { // 1st Parameter should be filter/query
    

    https://mongoosejs.com/docs/api.html#model_Model.find

    Model.find()
    

    参数

    filter «Object|ObjectId»
    [projection] «Object|String|Array<String>» optional fields to return, see Query.prototype.select()
    [options] «Object» optional see Query.prototype.setOptions()
    [callback] «Function»
    

    【讨论】:

    • 所以我可以用 model.find() 替换 (err, data) 吗?
    • Nooooooooooooo ,更改为上面的行。
    • 所以我只是复制粘贴你说要更改的那行代码吗?
    • Cards.find({}, (err, data) =&gt; { 也读 --> mongoosejs.com/docs/api.html#model_Model.find
    猜你喜欢
    • 2020-09-13
    • 2015-06-09
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多