在Mongo Aggregation中排序多个对象数组

时间:2019-01-30 06:20:20

标签: database mongodb mongoose mongodb-query aggregate-functions

{
    "_id" : 1,
    "name" : "Ashwanth Madhav",
    "scores" : [
            {
                    "type" : "exam",
                    "score" : 45
            },
            {
                    "type" : "quiz",
                    "score" : 34
            },
            {
                    "type" : "work",
                    "score" : 99
            },
            {
                    "type" : "work",
                    "score" : 38
            }
    ],
  "job_type" : [
            {
                    "type" : "full_time",
                    "activity" :87
            },
            {
                    "type" : "part_time",
                    "activity" : 78
            },
            {
                    "type" : "full_time",
                    "activity" : 71.76133439165544
            }
    ]
}

使用$addToSet时,已排序列表将变为未排序。因此,我使用了$push。但这会导致数据重复。

我需要对SCORES和JOB_TYPE进行排序。现在,我已经完成了,首先使用$addToSet,然后使用$unwind对“ $sort”进行评分->“ $group”->“ $push”。在“ $unwind”工作类型之后->“ $sort”->“ $group”,然后输入$push

还有什么更好的方法吗?预先感谢。

0 个答案:

没有答案