我的公司集合中有一个对象数组,其中包含如下分组值:
"groups" : [
{
"id" : "d278c44333",
"name" : "group 1"
}
],
所以在mongoDB中它应该是company > groups > 0 > id or name
我想投影所有包含groups对象数组的文档并检索名称。
我怎么能那样做呢?
下面是我尝试的:
db.getCollection("Company").aggregate([
{
$match: {
"companyID": "323452343",
}
},
{
$project: {
//this only projects groupName with an array with 0 elements inside.
groupName: "$groups.0.name"
}
}
])
编辑:
预期结果:
2条答案
按热度按时间7y4bm7vi1#
对于第一项的具体情况,用途:
了解它在playground example上的工作原理
对于低于4.2的mongodb版本,请用途:
vh0rcniy2#
我终于找到了正确的方法来查询和投影对象的嵌套数组,如下所示:
我不得不这样使用
$arrayElemAt
: