ruby - 获取 MongoDB 中列的最高值

标签 ruby mongodb mongodb-ruby

在获得 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()

关于ruby - 获取 MongoDB 中列的最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4762980/

相关文章:

mongodb - Mongoid:检索其 _id 存在于另一个集合中的文档

ruby-on-rails - 在 mongo ruby​​ 驱动程序中使用 DBRef:(#<Mongo::DBRef:0x0056466ed55e48> 的未定义方法 `bson_type')

ruby - 通过比较 2 个相邻元素对数组进行分组

ruby - AWS Ruby CloudWatch API 不返回任何内容

ruby-on-rails - Rails 将 Time.current 与数据库条目进行比较,Postgres 与 MySQL 进行比较

Mongodb/Mongoid - 什么{:multi => true} mean

ruby-on-rails-3.1 - Mongoid order_by bool 值

ruby - 在 Formtastic 选择中显示选项标签的额外属性

MongoDB 初始部署和索引

node.js - 如何在 Mongoose 中更新数组值