我知道如何编写查询,以便我可以使用 $size
计算每个文档的数组中的项目数 .
db.collection.aggregate(
{project : {"name" : 1, _id:0, sizeOf : {$size : "$People.Age"}}}
)
如何使用 $size
编写查询,但我只想计算字段是否等于某个值(例如 People.Ages.Current_Age : 21
) . 我'm assuming I' d使用 $eq
吗?
示例代码:
{
"People" : [
{
"Name" : "Jen",
"Ages" : {
"Current_Age" : 32,
"Graduate_Age" : 26,
}
},
{
"Name" : "Bill",
"Ages" : {
"Current_Age" : 30,
"Graduate_Age" : 22,
}
},
{
"Name" : "Josh",
"Ages" : {
"Current_Age" : 27,
"Graduate_Age" : 24,
}
}
]
}
2 回答
您可以使用以下聚合
您可以在此处使用过滤器运算符,在获取大小之前过滤数组 .