代码之家  ›  专栏  ›  技术社区  ›  Ashwanth Madhav

在Mongo聚合中对多个对象数组进行排序

  •  0
  • Ashwanth Madhav  · 技术社区  · 7 年前
    {
        "_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 .但这会导致数据重复。

    我需要把分数和工作类型分类。现在,我用,用 $addToSet 首先,然后“ $unwind “得分->” $sort “——>” $group “带着 美元推 .之后“ 美元放松 “工作类型->” $sort “——>” $group “用它 美元推 .

    还有更好的办法吗?提前谢谢。

    0 回复  |  直到 7 年前