我在下面有一个相当直接的方法来更新基于其 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);
});
这种方法产生了问题。它不会更新文档,也不会返回错误。