首页 > 解决方案 > ReferenceError: err 未定义 mongoose mongodb

问题描述

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

这是我的代码

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);

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

标签: javascriptdatabasemongodbmongooseerror-handling

解决方案


改变

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»

推荐阅读