MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Ordine mongoide per lunghezza dell'array

La documentazione di Mongo dice :

Quindi non possiamo ordinare usando $size di mongo .

Puoi risolvere il tuo compito aggiungendo un nuovo campo, che memorizzerà la dimensione dell'array.

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

Ordina posts per likes_size :

Post.order_by(likes_size: :desc)