ruby - 获取 MongoDB 中列的最高值

标签 ruby mongodb mongodb-ruby

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

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

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

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

谢谢!

最佳答案

max() 并不像您在 Mongo 的 SQL 中期望的那样工作。这可能会在未来的版本中发生变化,但截至目前, 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/56876987/

相关文章:

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

mongodb - 如何在没有缓存的情况下检查 mongodb 查询性能

ruby-on-rails-3 - mongoid 的最佳状态机 gem 是什么?

字符串中的 Ruby/&

具有数组值的 Ruby 哈希

mongodb - Mongodb 上的分页 '$group' 聚合结果

architecture - 何时使用 Redis?何时使用 MongoDB?

ruby - 你应该在 Ruby 中使用 private、protected 和 public 修饰符吗?

ruby-on-rails - 从 Rails 控制台设计密码重置

javascript - 使用 Mongoose 中对象数组的循环保存模型。全部插入后需要回调