st-*_*t-h 5 mongodb mongodb-query
是否可以查询mongodb以返回匹配文档id值的数组,而无需相关的键?
请考虑遵循"父"数据结构:
{
"_id": ObjectId("52448e4697fb2b775cb5c3a7"),
"name": "Peter",
"children": [
{
"name": "joe"
}
]
},
{
"_id": ObjectId("52448e4697fb2b775cb5c3b6"),
"name": "Marry",
"children": [
{
"name": "joe"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想查询一个父_id数组,其子名称为"joe"
对于提供的示例数据,我想从mongo返回以下输出:
[ObjectId("52448e4697fb2b775cb5c3a7"), ObjectId("52448e4697fb2b775cb5c3b6")]
Run Code Online (Sandbox Code Playgroud)
我知道我可以查询这样的输出,它也包含键
[{"_id": ObjectId("52448e4697fb2b775cb5c3a7")}, {"_id": ObjectId("52448e4697fb2b775cb5c3b6")}]
Run Code Online (Sandbox Code Playgroud)
但是,我需要使用如下更新操作将上面的数组推送到另一个文档:
db.statistic.update({"date": today}, {$push: {"children": [ObjectId("52448e4697fb2b775cb5c3a7"), ObjectId("52448e4697fb2b775cb5c3b6")]}}, true, false)
Run Code Online (Sandbox Code Playgroud)
我想避免整理文档结构,以防可以使用mongo返回包含适当值的数组
vik*_*tnk 16
它应该是可能的
db.coll.distinct("_id", {"children.name": "joe"})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7062 次 |
最近记录: |