按标准对 MongoDb 中的相邻文档进行分组

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

拥有按字段排序的文档集合,我想按其他字段对文档进行分组,但只应对相邻文档进行分组。像这样:

[
  {order: 1, state: 'one'},
  {order: 2, state: 'one'},
  {order: 3, state: 'one'},
  {order: 4, state: 'two'},
  {order: 5, state: 'two'},
  {order: 6, state: 'one'},
  {order: 7, state: 'two'},
  {order: 8, state: 'three'},
  {order: 9, state: 'three'}
]

应该导致:

[
  [
    {order: 1, state: 'one'},
    {order: 2, state: 'one'},
    {order: 3, state: 'one'}
  ],
  [
    {order: 4, state: 'two'},
    {order: 5, state: 'two'}
  ],
  [
    {order: 6, state: 'one'}
  ],
  [
    {order: 7, state: 'two'}
  ],
  [
    {order: 8, state: 'three'},
    {order: 9, state: 'three'}
  ]
]

不幸的是,我对 MongoDb 还很陌生,所以我什至不知道从哪里开始。 我怀疑这可以通过一些聚合之王来实现,但不知道从哪里开始。

尝试了 $group with _id: null 和 $setWindowFields 以及分桶,但没有成功。

mongodb aggregation-framework
1个回答
0
投票

我相信你需要另一个领域来分组。看起来没有它是不可能的。或者您可以使用编程方法来创建所需的输出。

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