6
反正是有從方法返回的對象,而不是值:獲取對象與現場的最大值[Mongoid]
Mongoid::Contexts::Enumerable#max
一個簡單的例子是,如果你有收藏用戶的,他們都有現場:年齡=>我可以得到那些最古老,最大或者我應該用別的
反正是有從方法返回的對象,而不是值:獲取對象與現場的最大值[Mongoid]
Mongoid::Contexts::Enumerable#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
。
如果最大年齡是23歲,並且有5歲具有那個年齡,那麼這個失敗。 – 2012-03-30 06:54:28
所以唯一的辦法是整理收集>? – 2012-03-30 06:54:59
@ muistooshort:啊,沒有仔細閱讀。思考...... – 2012-03-30 06:56:50