查询以查找MongoDB Compass中特定列的最小值和最大值

时间:2019-10-18 10:27:28

标签: mongodb mongodb-compass

我在MongoDB中有一些收藏,例如像下面的一样

[
  { "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate("2014-01-01T08:00:00Z") },
  { "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate("2014-02-03T09:00:00Z") },
  { "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 5, "date" : ISODate("2014-02-03T09:05:00Z") },
  { "_id" : 4, "item" : "abc", "price" : 10, "quantity" : 10, "date" : ISODate("2014-02-15T08:00:00Z") },
  { "_id" : 5, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : ISODate("2014-02-15T09:05:00Z") }
]

我想找到“ _id”或任何其他字段的最小值和最大值。我正在使用“ MongoDB指南针”。如何在MongoDB Compass中编写查询,该查询为我提供了特定列的最小值和最大值

2 个答案:

答案 0 :(得分:1)

您可以在聚合管道中使用$ min和$ max运算符来使用$ group管道

 collectionName.aggregate([
    {$group:{_id:null,minVal: {$min: "$price"},maxVal: {$min: "$price"},}}
   ])

答案 1 :(得分:1)

如果您想在filter文本框中执行此操作,即通过查询而不是通过聚合(如建议的那样),则可以按降序对目标字段进行排序,并将限制设置为1。

示例:最低价格 enter image description here


示例:最高价格 enter image description here