拥有按字段排序的文档集合,我想按其他字段对文档进行分组,但只应对相邻文档进行分组。像这样:
[
{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 以及分桶,但没有成功。
我相信你需要另一个领域来分组。看起来没有它是不可能的。或者您可以使用编程方法来创建所需的输出。