Mit diesen Modellen:
%Vor%Ich möchte etwas wie:
machen %Vor%Um nur Wochen zu finden, die mehrere Beweise haben.
Es gibt eine Antwort, die das zu beantworten scheint:
Can rails scopes filtert die Anzahl der zugeordneten Klassen für ein bestimmtes Feld
Aber in diesem Beispiel gibt es kein Attribut wie proof_ids in Week, da die IDs mit den Proofs gespeichert werden. Dies funktioniert nicht zum Beispiel:
%Vor%Wie ist diese Abfrage möglich? Konzeptionell einfach, aber ich kann nicht herausfinden, wie man das mit Mongo oder Mongoid macht.
Ebenso würde ich gerne nach der Anzahl der Beweise suchen, zum Beispiel:
%Vor%Aber das funktioniert auch nicht.
Ich weiß, dass ein Counter-Cache eine Option für meine beiden spezifischen Fragen ist, aber ich würde auch gerne die Abfrage durchführen können.
Vielen Dank im Voraus für jede Hilfe.
Mit rails (und ohne counter_cache) könnten Sie tun:
%Vor%Obwohl jede dieser Operationen zwei Abfragen erzeugt, ist dies alles andere als ideal.
Das Paar von Abfragen wird wiederholt (= & gt; 4 Abfragen für jede Operation) mit Bereichen (Fehler?):
%Vor%Das Ideal ist wahrscheinlich, counter_cache
zu verwenden %Vor%Entschuldige, wenn ich weit weg bin - aber könntest du in der Wochenübersicht einen einfachen counter_cache verwenden? Dann könntest du sowas wie week.proofs_count machen.
Tags und Links mongoid ruby-on-rails has-many