【问题标题】:Mongoose findByIdAndUpdate not working猫鼬 findByIdAndUpdate 不起作用
【发布时间】:2023-03-03 09:34:01
【问题描述】:

我在下面有一个相当直接的方法来根据其 ObjectId 更新文档。它不会返回错误,但无法对文档进行所需的更新。我认为它失败了,因为根据我的研究,findByIdAndUpdate() 只需要普通的 Javascript,而 job._id 是我要更新的文档中的 ObjectId。有人可以告诉我如何使这项工作正常吗?

function handleEncoderResponse(xmlResponse, job) {
var r = et.parse(xmlResponse);
var mediaID = r.findtext('./MediaID');
var message = r.findtext('./message');

EncodingJob = mongoose.model('EncodingJob');

EncodingJob.findByIdAndUpdate( job._id, {
    "MediaID": mediaID,
    "Status": message
}, function(err, result) {
    if (err) console.log(err);
    console.log(result);
});

}

编辑:根据这个问题Mongoose update document Fail with findByIdAndUpdate

我也尝试了以下代码,但无济于事。

job.MediaID = mediaID;
job.Status = message;
job.save(function(err, res) {
    if(err) console.log(err);
    });

这种方法会产生问题。它不会更新文档,也不会返回错误。

【问题讨论】:

    标签: mongodb mongoose


    【解决方案1】:

    事实证明,我的错误是忘记在Schema 中定义MediaIDStatus,如下所示:

    var encodingJobSchema = new mongoose.Schema({
        ...
        MediaID: String,
        Status: String
    });
    

    【讨论】:

      猜你喜欢
      • 2020-09-05
      • 2022-07-21
      • 1970-01-01
      • 2017-01-16
      • 2019-09-10
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多