ruby-on-rails - 获取字段最大值的对象[Mongoid]

无论如何要返回对象而不是方法中的值:

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 方法

MongoDB - 从单个数组元素中取消设置属性

ruby-on-rails-3 - 使用 MongoID 在 Rails 中进行标记的良好解决方案

mongodb - 我可以/应该在 Mongoose 中索引嵌入的文档吗?

mongodb - 设置 MongoDB 数据库配额 (SIZE)