使用Mongo进行测序分组

时间:2019-05-15 17:15:28

标签: arrays python-3.x mongodb mongodb-query aggregation-framework

我想按字段分组,但仅对数组中相同的跟随值进行计数。作为$ group + $ count可以做到,但我必须保持顺序。快速解决方案是很多首选/首选聚合框架,因为我至少有200k的14.5MB文档。 1个文档的数据数组长度约为8000。

尽管谷歌工作了许多小时,但我没有找到任何方法。我真的不想在这里映射/缩小(即使看看如何以这种方式来做可能很有趣)

{
    header : {
        Number : 1,
        type : 1
    }

    Data : [
        datafield: {
            Status: A,
            ramdomfield : random
        },

        datafield: {
            Status: A,
            ramdomfield : random
        },

        datafield: {
            Status: B,
            ramdomfield : random
        },

        datafield: {
            Status: C,
            ramdomfield : random
        },

        datafield: {
            Status: A,
            ramdomfield : random
        },

        datafield: {
            Status: A,
            ramdomfield : random
        },

    ]
}

预期结果:

{
    header : {
        Number : 1,
        type : 1
    },

    data: {
        Status A : 2,
        Status B : 1,
        Status C : 1,
        Status A : 2 
    }
}

预期结果可能更灵活,我只需要计数信息并保持序列顺序

谢谢!

0 个答案:

没有答案