如何使用文档对象

时间:2019-08-28 12:38:23

标签: node.js mongoose

在我的NodeJS代码中,我使用猫鼬来处理数据库调用。
在我的代码中,下面有几行代码,这些代码将首先更新“ NewsReport”记录,并根据响应文档,将“ News”记录更新为文档的newsId。这是我的代码:

NewsReport.findOneAndUpdate({ _id: req.params.reportId }, { $set: { 'status': statusReceived } })
    .then(result => {
        News.findOneAndUpdate({ _id: result.newsId }, { $set: { 'blocked': true } })
            .then(updatedNews => {
                res.status(200).json({
                    message: 'Successfully updated report'
                });
            });
    } else {
            res.status(200).json({
                message: 'Successfully updated report'
            });
        }
    })

我的NewsReport架构如下(在第一次更新调用后将返回的文档:

var newsReportSchema = mongoose.Schema({
    newsId: { type: mongoose.Schema.Types.ObjectId, ref: 'News', required: true },
    creator: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true },
    type: { type: String, enum: Constants.reportTypes, required: true },
    status: { type: String, enum: Constants.reportStatus, default: 'None' }
};

module.exports = mongoose.model('NewsReport', newsReportSchema);

失败,因为“ result.newsId”返回一个对象。如何基于文档对象使用“ findAndUpdate”?

0 个答案:

没有答案