MongoDB 聚合:将文档列表转换为列表

问题描述 投票:0回答:1

我有这个文件:

[ { id: 1 }, {id: 2}, {id: 3} ]

我想把它变成:

{ ids: [1, 2, 3] }

[1, 2, 3]

哪个是最有效的管道?

谢谢!

mongodb aggregation-framework
1个回答
0
投票

您可以使用

$group
$project
舞台。

对于第一个结果 -

{ ids: [1, 2, 3] }
,请使用以下 MongoDB 聚合管道。

[
  {
    $group: {
      _id: null,
      ids: { $push: "$id" }
    }
  },
  {
    $project: {
      _id: 0,
      ids: 1
    }
  }
]

您只需使用上述管道中的

$group
阶段即可获得所需的结果,但是有一个字段
_id: null
,因此您可以使用
$project
阶段删除该字段。

© www.soinside.com 2019 - 2024. All rights reserved.