sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoid ordning efter längd på array

Mongo-dokumentation säger :

Så vi kan inte beställa genom att använda mongos $size .

Du kan lösa din uppgift genom att lägga till ett nytt fält, som kommer att lagra arraystorlek.

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

Sortera posts av likes_size :

Post.order_by(likes_size: :desc)


  1. C# Mongo DeleteMany - utan att använda en klass

  2. MongoDB - Lägger till en uppsättning och ökar

  3. Hur man installerar Apache CouchDB 2.3.0 i Linux

  4. mongodb grupp efter första tecken