Ich habe also ein eingebettetes Dokument, das Gruppenmitgliedschaften verfolgt. Jedes eingebettete Dokument verfügt über eine ID, die auf die Gruppe in einer anderen Sammlung verweist, ein Startdatum und ein optionales Ablaufdatum.
Ich möchte nach aktuellen Mitgliedern einer Gruppe fragen. "Aktuell" bedeutet, dass die Startzeit kleiner als die aktuelle Zeit ist und die Ablaufzeit größer als die aktuelle Zeit ODER null ist.
Diese bedingte Abfrage blockiert mich völlig. Ich könnte es tun, indem ich zwei Abfragen ausführe und die Ergebnisse zusammenführe, aber das scheint hässlich und erfordert das gleichzeitige Laden aller Ergebnisse. Oder ich könnte die Ablaufzeit auf ein beliebiges Datum in ferner Zukunft festlegen, aber das scheint noch hässlicher und möglicherweise spröde zu sein. In SQL würde ich es einfach mit "(expires> = Now ()) OR (expires IS NULL)" ausdrücken - aber ich weiß nicht, wie ich das in Mongo machen soll.
Irgendwelche Ideen? Vielen Dank im Voraus.