Mongodb 正在子阵列中更新第三层文档
我有以下文件(在项目集合中): 我可以使用以下方法对任务设置Mongodb 正在子阵列中更新第三层文档,mongodb,meteor,insert-update,arrays,subdocument,Mongodb,Meteor,Insert Update,Arrays,Subdocument,我有以下文件(在项目集合中): 我可以使用以下方法对任务设置completed:true: completeTask: (projectID, taskID, ifCompleted) -> Projects.update { _id: projectID 'tasks.taskID': taskID }, $set: 'tasks.$.completed': ifCompleted return 如果我将文档更改为: { titl
completed:true
:
completeTask: (projectID, taskID, ifCompleted) ->
Projects.update {
_id: projectID
'tasks.taskID': taskID
}, $set: 'tasks.$.completed': ifCompleted
return
如果我将文档更改为:
{
title: 'title.com'
company: 'company'
companyID: Random.id()
category: 'category'
starred: false
createdAt: new Date
categories: [
{
completed: true
name: 'ideas'
_id: Random.
tasks: [
{task: 'something', completed: false, taskID: Random.id()}
{task: 'something', completed: false, taskID: Random.id()}
{task: 'something', completed: false, taskID: Random.id()}
]
}
{
completed: false
name: 'development'
_id: Random.id()
tasks: [
{task: 'something', completed: false, taskID: Random.id()}
{task: 'something', completed: false, taskID: Random.id()}
{task: 'something', completed: false, taskID: Random.id()}
]
}
]
}
如何在任务上设置completed:true
到目前为止我有
completeTask: (projectID, categoryID, taskID, ifCompleted) ->
Projects.update {
除非您通过数组中的索引引用了
类别
或任务
中的至少一个,否则不能引用。最后我将其移动到了一个单独的“任务”集合中。Mongo3.2应该增加对多个$positional选择器的支持。谢谢你的回复。
completeTask: (projectID, categoryID, taskID, ifCompleted) ->
Projects.update {