1

我在 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 Compass”。我如何在 MongoDB Compass 中编写一个查询,它给出了特定列的最小值和最大值

4

2 回答 2

4

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

示例:最低价格 在此处输入图像描述


示例:最高价格 在此处输入图像描述

于 2019-11-04T02:54:49.857 回答
1

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

 collectionName.aggregate([
    {$group:{_id:null,minVal: {$min: "$price"},maxVal: {$min: "$price"},}}
   ])
于 2019-10-18T10:43:21.097 回答