无论如何要返回对象而不是方法中的值:
Mongoid::Contexts::Enumerable#max
Link to the rdoc
一个简单的例子是,如果您有用户集合并且他们都有字段:age => 我可以使用 max 获取最旧的用户还是应该使用其他东西
最佳答案
one_of_oldest_users = User.desc(:age).limit(1).first
这将使您成为年龄最大的用户之一(如果有多个用户)。如果您想全部获取,最简单的方法是使用两次。
max_age = User.max(:age)
oldest_users = User.where(age: max_age)
# or, if you like one-liners
oldest_users = User.where(age: User.max(:age))
为了使这些查询更高效,当然,您需要一个关于 :age
的索引。
https://stackoverflow.com/questions/9938233/
相关文章:
node.js - 我应该将图像存储在 MongoDB 中还是本地文件系统中(通过 Node.js)
mongodb - mongoose 更新 MongoDB 中的字段不起作用
java - 哪个是 mongodb 访问的最佳 java 驱动程序?
java - 如何使用 $ne 运算符查询 mongodb?
mongodb - 当数据库大小大于 RAM 时,MongoDB 可以工作吗?
mongodb - 处理 100+ 百万条记录的最佳 NoSQL 方法
ruby-on-rails-3 - 使用 MongoID 在 Rails 中进行标记的良好解决方案