Ich habe eine Sammlung in MongoDB mit zwei Datumsangaben, die festlegen, ob etwas aktuell ist oder nicht. Also habe ich ein "end_date", das null sein kann oder einen Zeitwert haben kann. Ein Element, für das current ein Null-Enddatum oder eine Uhrzeit in der Zukunft hat. Meine Abfrage sieht so aus:MongoDB - finde das Ergebnis, wenn der Wert null oder kleiner als X ist
program_enrollments.find({"start_date":{"$lte":1376982000},"end_date":[null,{"$gte ":1376982000}],"client":"52002d02cc94a31a0f000000"}, [])
Das sieht für mich richtig aus, aber brauche ich einen anderen Ansatz? Ich möchte kein boolesches Flag haben, das angibt, ob die Daten aktuell sind oder nicht, wenn ich es vermeiden kann.
'{end_date: null}' deckte auch den Eckfall ab, in dem das Feld einfach wegen Unterlassung nicht vorhanden war, {end_data: {$ exists: false}} 'nicht ... zumindest nicht wenn ich getestet mit v3.0 – pulkitsinghal