标签: mongodb
在mongo中,我可以这样做:
db.HI.aggregate({$project: {new_val: '$tags.first'}})
然而,这不起作用:
db.HI.aggregate({$project: {new_val: '$my_array.0'}})
这是否意味着聚合不支持这种方式的数组?还有其他选择吗?
答案 0 :(得分:1)
目前,汇总框架尚未支持此功能,此 here 和there正在进行JIRA票证。
另一种方法是首先$unwind数组,然后通过_id键$group解构数组文档。在分组文档中,使用$first group accumulator operator:
$unwind
_id
$group
$first
db.HI.aggregate([ { "$unwind": "$my_array" }, { "$group": { "_id": "$_id", "new_val": { "$first": "$my_array" } } } ])