【发布时间】:2014-03-04 15:25:01
【问题描述】:
我有以下文件清单:
{
"_id" : "Tvq579754r",
"name": "Tom",
"forms": {
"PreOp":{
"status":"closed"
},
"Alert":{
"status":"closed"
},
"City":{
"status":"closed"
},
"Country":{
"status":"closed"
}
}
},
....
{
"_id" : "Tvq444454j",
"name": "Jim",
"forms": {
"Jorney":{
"status":"closed"
},
"Women":{
"status":"void"
},
"Child":{
"status":"closed"
},
"Farm":{
"status":"closed"
}
}
}
我想通过它们的“状态”字段(“forms.name_of_form.status”)过滤它们。我需要获取所有不具有 'forms.name_of_form.status' 等于 'void' 的文档。
预期结果是(没有无效表单状态的文档):
{
"_id" : "Tvq579754r",
"name": "Tom",
"forms": {
"PreOp":{
"status":"closed"
},
"Alert":{
"status":"closed"
},
"City":{
"status":"closed"
},
"Country":{
"status":"closed"
}
}
}
【问题讨论】:
-
您需要获取所有文档还是所有_ids?此外,您需要过滤掉状态为“void”或any状态为“void”的特定表单的文档?
-
我想取出所有文件,其中每个文件的所有表格都处于“关闭”状态而不是“无效”
-
表单名称列表是否有限(指定)?
-
不,以后可以更改表单名称。我不必依赖表单名称。
-
你能编辑一个预期的结果吗?这有助于人们回答。
标签: mongodb mongodb-query aggregation-framework