查找共享在汇总步骤中找到的最大值(值)的所有文档

数值溢出

我正在尝试查找共享max(num_sold)的所有文档我不能仅对降序进行排序并执行limit(1),因为我会错过其他文档也具有相同max(num_sold)的情况。鉴于这个过于简化的数据集:

{"item":"Apple", "num_sold": 49}
{"item":"Orange", "num_sold": 55}
{"item":"Peach", "num_sold": 55}
{"item":"Grape", "num_sold": 20}
{"item":"Banana", "num_sold": 20}

我想回来

{"item":"Orange", "num_sold": 55}
{"item":"Peach", "num_sold": 55}    

使用SQL,这是一个简单的查询,然后联接回主数据集。我对如何在MongoDB中执行此操作感到有些困惑。

我已经找到了最大值,但是如何获得具有该最大值的所有文档呢?

db.t.aggregate(
    {$group:{
          _id:null,
          num_sold:{$max:"$num_sold"}
          }
    }
);
{ "_id" : null, "num_sold" : 55 }
香港强尼

您可以通过分组num_sold然后使用$sort$limit管道阶段来仅获得具有最大价值的文档来做到这一点

db.t.aggregate([
    // Group by num_sold, assembling an array of docs with each distinct value.
    {$group: {
        _id: '$num_sold',
        docs: {$push: '$$ROOT'}
    }},
    // Sort the groups by _id descending to put the max num_sold group first.
    {$sort: {_id: -1}},
    // Return just the first (max num_sold) group of docs.
    {$limit: 1}
])

输出:

{ 
    "_id" : 55.0, 
    "docs" : [
        {
            "_id" : ObjectId("5726a62879ce3350ff8d607e"), 
            "item" : "Orange", 
            "num_sold" : 55.0
        }, 
        {
            "_id" : ObjectId("5726a62879ce3350ff8d607f"), 
            "item" : "Peach", 
            "num_sold" : 55.0
        }
    ]
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Pandas DataFrame中找到所有最大值的索引

来自分类Dev

在Pandas DataFrame中找到所有最大值的索引

来自分类Dev

如何在列表中找到所有局部最大值和最小值

来自分类Dev

如何在JavaScript中找到数组最大值的所有索引?

来自分类Dev

如何在SQL中找到具有多个最大值的组的最大值?

来自分类Dev

查找数组中的最大值与查询匹配的所有Mongo文档

来自分类Dev

在PHP数组中找到最大值

来自分类Dev

如何从列中找到最大值

来自分类Dev

如何从字典中找到最大值?

来自分类Dev

在循环中找到最大值

来自分类Dev

在元组向量中找到最大值

来自分类Dev

如何从结构中找到最大值?

来自分类Dev

在 clingo 中找到原子的最大值

来自分类Dev

快速找到C ++中的所有局部最大值

来自分类Dev

查找函数的所有局部最大值

来自分类Dev

优化算法以查找所有局部最大值

来自分类Dev

在numpy中找到最大值的索引,排除零值

来自分类Dev

在多维字典中找到最大值,最小值

来自分类Dev

从MySQL中的重复值中找到最大值

来自分类Dev

在numpy中找到最大值的索引,排除零值

来自分类Dev

从MySQL中的重复值中找到最大值

来自分类Dev

Matlab:避免for循环在具有相同标签的值中找到最大值

来自分类Dev

在javascript中从键/值对中找到导致绘制的最大值持有键

来自分类Dev

在具有多个最大值的矩阵中找到每行的最大频率

来自分类Dev

在第一列相同的所有行中找到Pandas,Python中的最小值,最大值,平均值

来自分类Dev

在ArrayList的ArrayList中找到最大值,键=长度

来自分类Dev

如何在图像中找到局部最大值

来自分类Dev

在键是数组的对象中找到最大值?

来自分类Dev

在结合多行的python数据框中找到最大值

Related 相关文章

  1. 1

    在Pandas DataFrame中找到所有最大值的索引

  2. 2

    在Pandas DataFrame中找到所有最大值的索引

  3. 3

    如何在列表中找到所有局部最大值和最小值

  4. 4

    如何在JavaScript中找到数组最大值的所有索引?

  5. 5

    如何在SQL中找到具有多个最大值的组的最大值?

  6. 6

    查找数组中的最大值与查询匹配的所有Mongo文档

  7. 7

    在PHP数组中找到最大值

  8. 8

    如何从列中找到最大值

  9. 9

    如何从字典中找到最大值?

  10. 10

    在循环中找到最大值

  11. 11

    在元组向量中找到最大值

  12. 12

    如何从结构中找到最大值?

  13. 13

    在 clingo 中找到原子的最大值

  14. 14

    快速找到C ++中的所有局部最大值

  15. 15

    查找函数的所有局部最大值

  16. 16

    优化算法以查找所有局部最大值

  17. 17

    在numpy中找到最大值的索引,排除零值

  18. 18

    在多维字典中找到最大值,最小值

  19. 19

    从MySQL中的重复值中找到最大值

  20. 20

    在numpy中找到最大值的索引,排除零值

  21. 21

    从MySQL中的重复值中找到最大值

  22. 22

    Matlab:避免for循环在具有相同标签的值中找到最大值

  23. 23

    在javascript中从键/值对中找到导致绘制的最大值持有键

  24. 24

    在具有多个最大值的矩阵中找到每行的最大频率

  25. 25

    在第一列相同的所有行中找到Pandas,Python中的最小值,最大值,平均值

  26. 26

    在ArrayList的ArrayList中找到最大值,键=长度

  27. 27

    如何在图像中找到局部最大值

  28. 28

    在键是数组的对象中找到最大值?

  29. 29

    在结合多行的python数据框中找到最大值

热门标签

归档