【发布时间】:2018-11-25 16:30:39
【问题描述】:
我正在创建一个 MEAN 堆栈来执行列表,需要以下 Mongoose 语法的帮助。
我正在尝试将 todos 数组的已完成字段更新为 true。通过研究,我能够使用 Mongoose 模型 findOneAndUpdate 更新我的子文档。
不过,我也在尝试学习如何使用 findByIdAndUpdate。我似乎无法让它工作。我哪里错了?
带有嵌套子文档待办事项的我的 Mongoose 文档:
{
//this is my userID
"_id": ObjectId("5b21cbdeebe2b414906b2b31"),
"username": "john",
"todos": [{
// this is my id
"_id": ObjectId("5b21cbdeebe2b414906b2b32"),
"item": "testing",
"completed": false
}, {
// this is my id
"_id": ObjectId("5b22dd570f15b72e949591f6"),
"item": "adding new",
"completed": false
}]
}
我的猫鼬功能:
module.exports.markItemCompleted = function(id, callback) {
Item.findByIdAndUpdate(id, { $set: { completed: true }}, callback);
}
【问题讨论】: