如何使用mongodb对$ group聚合输出进行排序

mala_sf

我正在查找按发件人ID排序的文档(电子邮件)集合,然后返回最频繁发送的发件人ID(限制为5)。群组。我了解到,使用mongodb时,$group运算符不会对输出进行排序,一旦对输出进行了分组,如何立即对输出进行排序。我尝试添加.sort()到查询序列的末尾,以及将输出设置为等于变量,并对其进行调用.sort().limit()无济于事。

我有如下

cursor = db.emailcol.aggregate( 

    [{ $group : {_id : {emails_sent: "$sender_id"}, number : { $sum : 1} }},
        {$sort : {"_id.sender_id": 1}}

    ]
);

while ( cursor.hasNext() ) {
    printjson( cursor.next() );
};

返回:

{ "_id" : { "emails_sent" : "6" }, "number" : 3 }
{ "_id" : { "emails_sent" : "5" }, "number" : 2 }
{ "_id" : { "emails_sent" : "3" }, "number" : 1 }
{ "_id" : { "emails_sent" : "4" }, "number" : 2 }
{ "_id" : { "emails_sent" : "2" }, "number" : 1 }

如何在分组的输出上运行排序方法,或者仅将排序和限制添加到查询中?

阿南·贾亚巴兰(Anand Jayabalan)

聚合管道的排序阶段应为:

{$sort : {"_id.emails_sent": 1}}

而不是:

{$sort : {"_id.sender_id": 1}}

因为$ group阶段的输出没有带有field的子文档sender_id要调试此类问题,将有助于查看管道每个阶段的输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用mongodb对$ group聚合输出进行排序

来自分类Dev

如何对find的输出进行排序?

来自分类Dev

如何对`ls`的输出进行排序?

来自分类Dev

如何防止`ls`对输出进行排序?

来自分类Dev

使用usort对json输出进行排序

来自分类Dev

MongoDB按字母顺序对输出进行排序(分组后)

来自分类Dev

MongoDB按字母顺序对输出进行排序(分组后)

来自分类Dev

如何对速记git status的输出进行排序?

来自分类Dev

如何按日期对SVN LS -R输出进行排序

来自分类Dev

如何根据序言的长度对不同的输出进行排序?

来自分类Dev

如何对2个相同数组数据的输出进行排序

来自分类Dev

如何按日期对SVN LS -R输出进行排序

来自分类Dev

如何对grep -rc的输出进行反向排序

来自分类Dev

如何根据序号的长短对不同的输出进行排序?

来自分类Dev

如何在R中对SessionInfo()的输出进行排序?

来自分类Dev

如何在Django中对模型输出进行排序?

来自分类Dev

如何在脚本中对 find 命令的输出进行排序

来自分类Dev

如何使用grep的输出进行ping

来自分类Dev

如何使用grep的输出进行ping

来自分类Dev

根据正则表达式对Mongodb find()输出进行排序

来自分类Dev

Haskell Pipes:如何对生产者的输出进行排序?

来自分类Dev

MapReduce(Python)-如何对Top-N列表的reducer输出进行排序?

来自分类Dev

Python-如何不按字母顺序对Sphinx输出进行排序

来自分类Dev

如何在我的情况下对json输出进行排序

来自分类Dev

如何按文件修改时间对“定位”的输出进行排序

来自分类Dev

MapReduce(Python)-如何对Top-N列表的reducer输出进行排序?

来自分类Dev

如何按上次修改日期(包括日期)对“ ls”的输出进行排序?

来自分类Dev

我如何不考虑某个字符而对awk的输出进行排序?

来自分类Dev

PHP如何在5x5表中对数组的输出进行排序?

Related 相关文章

  1. 1

    如何使用mongodb对$ group聚合输出进行排序

  2. 2

    如何对find的输出进行排序?

  3. 3

    如何对`ls`的输出进行排序?

  4. 4

    如何防止`ls`对输出进行排序?

  5. 5

    使用usort对json输出进行排序

  6. 6

    MongoDB按字母顺序对输出进行排序(分组后)

  7. 7

    MongoDB按字母顺序对输出进行排序(分组后)

  8. 8

    如何对速记git status的输出进行排序?

  9. 9

    如何按日期对SVN LS -R输出进行排序

  10. 10

    如何根据序言的长度对不同的输出进行排序?

  11. 11

    如何对2个相同数组数据的输出进行排序

  12. 12

    如何按日期对SVN LS -R输出进行排序

  13. 13

    如何对grep -rc的输出进行反向排序

  14. 14

    如何根据序号的长短对不同的输出进行排序?

  15. 15

    如何在R中对SessionInfo()的输出进行排序?

  16. 16

    如何在Django中对模型输出进行排序?

  17. 17

    如何在脚本中对 find 命令的输出进行排序

  18. 18

    如何使用grep的输出进行ping

  19. 19

    如何使用grep的输出进行ping

  20. 20

    根据正则表达式对Mongodb find()输出进行排序

  21. 21

    Haskell Pipes:如何对生产者的输出进行排序?

  22. 22

    MapReduce(Python)-如何对Top-N列表的reducer输出进行排序?

  23. 23

    Python-如何不按字母顺序对Sphinx输出进行排序

  24. 24

    如何在我的情况下对json输出进行排序

  25. 25

    如何按文件修改时间对“定位”的输出进行排序

  26. 26

    MapReduce(Python)-如何对Top-N列表的reducer输出进行排序?

  27. 27

    如何按上次修改日期(包括日期)对“ ls”的输出进行排序?

  28. 28

    我如何不考虑某个字符而对awk的输出进行排序?

  29. 29

    PHP如何在5x5表中对数组的输出进行排序?

热门标签

归档