猫鼬回调不执行

时间:2020-07-09 04:31:43

标签: node.js mongodb mongoose

我尝试在调用.findByIdAndDelete之后执行回调。哪个实际上确实删除了我在mongodb数据库中的项目,但是回调未执行。

我尝试了其他帖子中的几种解决方案,但无济于事。我该如何解决?

这是我的代码:

架构

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const BoardSchema = new Schema({
    name: String,
    date: {
        type: Date,
        default: Date.now
    }
}, { collection: 'boards' });

module.exports = Board = mongoose.model('board', BoardSchema);

方法调用

router.delete('/delete-board', (req, res) => {
        console.log(req.body); // This does print out

        var id = req.body.id;

        Board.findByIdAndDelete(id, (err, board) => {
            if (err) throw err;

            console.log('stupid'); // This doesn't print out
            
            return res.send({
                message: 'Board has been deleted',
                board: board
            });
        });

})

1 个答案:

答案 0 :(得分:0)

检查req.body,id是否为数据库中任何元素的有效ID。如果无效,则您的程序将无法执行回调,因为它将无法删除任何元素。