MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Ordre mongoid par longueur de tableau

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)