Mongodb 我们可以在$project语句中设置一个等于数组元素的新键吗?
在mongo,我可以这样做: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
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" }
}
}
])