我已将此文档插入db.references
馆藏中:
{
"idRef":"asdf-ggtt-001",
"metadades":[
{
"departament":"JUST",
"changed": ISODate("2016-02-10T10:50:42.389Z")
},
{
"ambit":"AMB1"
}
]
}
因此,我想知道哪些文档metadades.changed
,其中metadades
是嵌套文档的数组。
有什么想法吗?
答案 0 :(得分:1)
对于完整文档(带有嵌套文档的父文档):
db.references.find({"metadades.changed": {$exists: 1}}).pretty()
这基本上将产生所有文档,其中至少一个嵌套文档具有已更改的字段。
如果您只希望匹配的嵌套文档:
db.references.aggregate([
{
$unwind: {
path: "$metadades"
}
},
{
$match: {
"metadades.changed": {$exists: 1}
}
},
{
$replaceRoot: {
"newRoot": "$metadades"
}
}
])