La documentation Mongo indique :
Nous ne pouvons donc pas commander en utilisant le $size de mongo .
Vous pouvez résoudre votre tâche en ajoutant un nouveau champ, qui stockera la taille du tableau.
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
Trier les posts par likes_size :
Post.order_by(likes_size: :desc)