【问题标题】:MongoDB all entries with maximum values in columnMongoDB列中具有最大值的所有条目
【发布时间】:2016-10-21 16:04:43
【问题描述】:

我有数据

{"name" : "user1", age : 40 }
{"name" : "user2", age : 45 }
{"name" : "user3", age : 50 }
{"name" : "user4", age : 40 }
{"name" : "user5", age : 40 }
{"name" : "user6", age : 21 }

我希望所有行都具有最大年龄。

基本上获取列中列值最大的所有行。

SQL 查询:SELECT * FROM Person WHERE age = (SELECT max(age) FROM Person)

如何在 MongoDB 中做同样的事情?谢谢

【问题讨论】:

标签: mongodb mongodb-query aggregation-framework


【解决方案1】:

您可以使用这样的聚合框架来做到这一点:

db.collection.aggregate([
    { "$group": { 
        "_id": "$age", 
        "docs": { "$push": "$$ROOT" } 
    }},
    { "$sort": { "_id": -1 } },
    { "$limit": 1 }
])

【讨论】:

  • 感谢您的回复。你能解释一下你在那里做什么吗?
  • @sujithvm 请阅读我的另一个answer here了解更多详情。
猜你喜欢
  • 2018-07-21
  • 2018-10-06
  • 1970-01-01
  • 2021-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多