MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Ordem mongoide por comprimento da matriz


Documentação do Mongo diz :

Portanto, não podemos fazer pedidos usando o $size do mongo .

Você pode resolver sua tarefa adicionando um novo campo, que armazenará o tamanho do 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

Classificar posts por likes_size :
Post.order_by(likes_size: :desc)