[英]MongoDB query for nested array of specific object
使用$
进行投影。
查询 1
db.collection.find({
"people.age": {
$in: [
24
]
}
},
{
"people.$": 1
})
如果您只是按特定年龄搜索人,您也可以使用以下查询:
查询 2
db.collection.find({
"people.age": 24
},
{
"people.$": 1
})
注意: $
将只返回数组的第一个元素。
您可以将聚合查询查找为:
$match
- 按age
过滤文档。$project
- 装饰 output 个文档。 使用$filter
运算符过滤people
数组中的文档。db.collection.aggregate([
{
$match: {
"people.age": 24
}
},
{
$project: {
"people": {
$filter: {
input: "$people",
cond: {
$eq: [
"$$this.age",
24
]
}
}
}
}
}
])
参考
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.