【发布时间】:2016-06-27 15:28:35
【问题描述】:
我有一个带有这个模型的 mongo db:
_id: ObjectId("5705005b240166e927f841cb")
chapters: {
type: Array,
default: [
{
"id":"capitulo_0",
"active": true,
"title": "CAPÍTULO 0 - INTRODUCCIÓN",
"sections": [
{
"title": "Institucional",
"type": "Video",
"id": "d74fb24654a2",
"url": "jPTG5P0528k",
"active": true
}
]
},
{
"id":"capitulo_1",
"active": false,
"title": "CAPÍTULO 1 - BIENVENIDA",
"sections": [
{
"title": "Introducción",
"type": "Video",
"url": "j2TG1P05k8k",
"id": "b2454d7f66de",
"active": false
}
]
},
...
]
}
对于查询,我有 user_id 和部分的 id,我需要更新部分数组的活动字段。
我正在这样做:
User.findOneAndUpdate({_id: userId, 'chapters.sections':{$elemMatch: {id:sectionId}}}, {$set: {'sections.$.active': false}}).exec(function (err, doc) {console.log(doc)});
活动字段不变。
我该如何做这个查询?
谢谢
【问题讨论】:
标签: mongodb mongoose mongodb-query