小编alo*_*n_r的帖子

对聚合addToSet结果进行排序

有没有办法将$ addToSet的结果作为排序数组?

我试图扩展管道和$展开数组,对它进行排序并再次分组,但结果仍然没有排序.

数组非常大,我试图避免在应用程序中对它们进行排序.


Document Example :

    {
      "_id" : ObjectId("52a84825cc8391ab188b4567"),
      "id" : 129624
      "message" : "Sample",
      "date" : "12-09-2013,17:34:34",
      "dt" : ISODate("2013-12-09T17:34:34.000Z"),

    }

查询:


    db.uEvents.aggregate(
    [
      {$match : {dt : {$gte : new Date(2014,01,01) , $lt : new Date(2015,01,17)}}}
      ,{$sort : {dt : 1}}
      , {$group : {
        _id : {
                id : "$id"
                , year : {'$year' : "$dt"}
                , month : {'$month' : "$dt"}
                , day : {'$dayOfMonth' : "$dt"}
            }
        ,dt : {$addToSet : "$dt"}

      }} …

mongodb aggregation-framework

12
推荐指数
1
解决办法
7306
查看次数

标签 统计

aggregation-framework ×1

mongodb ×1