sql >> Database >  >> NoSQL >> MongoDB

Mongoïde volgorde op lengte van array

Mongo-documentatie zegt :

We kunnen dus niet bestellen met Mongo's $size .

U kunt uw taak oplossen door een nieuw veld toe te voegen, waarin de arraygrootte wordt opgeslagen.

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

Sorteer posts door likes_size :

Post.order_by(likes_size: :desc)


  1. Documenten ophalen met geneste objecten die overeenkomen met de tellingsvoorwaarde

  2. Welk SchemaType in Mongoose is het beste voor tijdstempel?

  3. Laravel 4:Klasse 'MongoClient' niet gevonden

  4. Wat is de beste manier om ajax-paginering te doen met MongoDb en Nodejs?