J'ai une collection d'utilisateurs. Chaque utilisateur dispose d'un tableau de documents incorporés: demandes de support.MongoDB/Ruby (Mongoid): comment sélectionner uniquement les documents incorporés
class User < MyModel
include Mongoid::Document
embeds_many :tickets
...
end
class Ticket < MyModel
include Mongoid::Document
embedded_in :user, :inverse_of => :tickets
...
end
Dans la section admin, je fais une requête pour sélectionner toutes les demandes de support. Mais puisque la collection de billets est intégrée, je ne peux pas interroger directement. Voici ce que j'ai obtenu:
@users_with_pending_tickets = User.only(:tickets).where("tickets.status" => "Pending")
<% for user in @users_with_pending_tickets %>
<% ticket = user.tickets.where(:status => "Pending").first %>
<%= ticket... %>
<% end %>
Ceci est vraiment laid. Y a-t-il un autre moyen?
Merci pour la réponse, j'ai voté. J'espère qu'ils mettent en œuvre ceci. – Alex
@Alex. Merci d'avoir voté. Je pourrais aussi vraiment utiliser des collections virtuelles. – bowsersenior