Mongoドキュメント
そのため、mongoの$size
を使用して注文することはできません。 。
配列サイズを格納する新しいフィールドを追加することで、タスクを解決できます。
class Post
include Mongoid::Document
field :likes, type: Array, default: []
field :likes_size, type: Integer
before_save do
self.likes_size = likes.size
end
end
posts
を並べ替える likes_size
による :
Post.order_by(likes_size: :desc)