Mongodb 我们可以在$project语句中设置一个等于数组元素的新键吗?

Mongodb 我们可以在$project语句中设置一个等于数组元素的新键吗?,mongodb,Mongodb,在mongo,我可以这样做: db.HI.aggregate({$project: {new_val: '$tags.first'}}) 但是,这不起作用: db.HI.aggregate({$project: {new_val: '$my_array.0'}}) 这是否意味着聚合不以这种方式支持数组?有其他选择吗?目前聚合框架还不支持此功能,有一个正在进行的JIRA票证 另一种方法是首先使用数组,然后使用\u id键解构数组文档。在分组的文档中,使用以下命令检索第一个数组元素: db.HI

在mongo,我可以这样做:

db.HI.aggregate({$project: {new_val: '$tags.first'}})
但是,这不起作用:

db.HI.aggregate({$project: {new_val: '$my_array.0'}})

这是否意味着聚合不以这种方式支持数组?有其他选择吗?

目前聚合框架还不支持此功能,有一个正在进行的JIRA票证

另一种方法是首先使用数组,然后使用
\u id
键解构数组文档。在分组的文档中,使用以下命令检索第一个数组元素:

db.HI.aggregate([
    { 
        "$unwind": "$my_array" 
    },
    { 
        "$group": {
            "_id": "$_id",
            "new_val": { "$first": "$my_array" }
        }
    }
])