ruby - 获取 MongoDB 中列的最高值

在获得 mongo 文档列的最高值方面,我一直在寻求帮助。我可以对其进行排序并获得顶部/底部,但我很确定有更好的方法来做到这一点。

我尝试了以下(以及不同的组合):

transactions.find("id" => x).max({"sellprice" => 0})

但它不断抛出错误。除了排序和获取顶部/底部之外,还有什么好方法?

谢谢!

最佳答案

max() 不能按照您在 SQL for Mongo 中所期望的方式工作。这可能会在未来的版本中发生变化,但截至目前,max,min 将主要在内部用于分片的索引键。

见 http://www.mongodb.org/display/DOCS/min+and+max+Query+Specifiers

不幸的是,目前获得最大值的唯一方法是根据该值对集合 desc 进行排序并取第一个。

transactions.find("id" => x).sort({"sellprice" => -1}).limit(1).first()

https://stackoverflow.com/questions/4762980/

相关文章:

mongodb - 如何使用 nodejs 流式传输 MongoDB 查询结果?

regex - 如何使用 mongoose find 获取包含部分字符串的所有值?

php - 找不到类 'MongoClient'

mongodb - 更新 Mongodb 中的嵌入文档属性

javascript - MongoDB mongoose 弃用警告

mongodb - 异常 : can't convert from BSON type EOO to

mongodb - 复制/克隆 mongodb 数据库及其数据

mongodb - 如何将 mongodb 数据库转移到另一台看不到第一个的机器上

mongodb - 将 PouchDB 与 MongoDB 一起使用

mongodb - 使用 apt-get 安装 mongodb-10gen 失败