So habe ich ein eingebettetes Dokument, das Gruppenmitgliedschaften verfolgt. Jedes eingebettete Dokument hat eine ID, die auf die Gruppe in einer anderen Sammlung verweist, ein Startdatum und ein optionales Verfallsdatum.MongoDB Abfrage mit einer 'oder' Bedingung
Ich möchte für aktuelle Mitglieder einer Gruppe abfragen. "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 total. Ich kann es tun, indem zwei Abfragen ausgeführt und die Ergebnisse Zusammenführung, aber das scheint hässlich und erfordert Laden in allen sofort Ergebnissen. Oder ich könnte standardmäßig die Zeit bis zu einem gewissen willkürlichen Zeitpunkt in der fernen Zukunft ablaufen, aber das scheint noch hässliches und möglicherweise brüchig. In SQL würde ich es einfach auszudrücken, mit "(gültig bis> = Now()) OR (gültig bis IS NULL)" - aber ich weiß nicht, wie in Mongo, das zu tun.
Irgendwelche Ideen? Vielen Dank im Voraus.
Analoge Frage: http://stackoverflow.com/questions/1945577/logical-or-for-two-different-Felder-in-dem-Abfrage-in-mongodb –