Speichern von Null im Gegensatz zum Nicht-Speichern des Schlüssels in MongoDB

Mir scheint, wenn Sie ein Mongo-Dokument erstellen und ein Feld haben{key, value} was manchmal keinen Wert haben wird, haben Sie zwei Möglichkeiten:

Schreiben{key, null} Schreibe einen Nullwert in das FeldSpeichern Sie den Schlüssel überhaupt nicht in diesem Dokument

Beide Optionen sind leicht abfragbar{key : null} und die andere, nach der Sie fragen{key : {$exists : false}}.

Ich kann mir keine Unterschiede zwischen den beiden Optionen vorstellen, die sich auf ein Anwendungsszenario auswirken würden (mit der Ausnahme, dass Option 2 etwas weniger Speicherplatz hat).

Kann mir jemand sagen, ob es Gründe gibt, aus denen einer der beiden Ansätze dem anderen den Vorzug gibt, und warum?

BEARBEITEN

Nach der Beantwortung der Frage ist mir auch aufgefallen, dass sich Indizes in beiden Fällen möglicherweise unterschiedlich verhalten, dh, für Option 2 kann ein spärlicher Index erstellt werden. Ich versuche jedoch weiterhin, die vollständigen Indexüberlegungen in beiden Ansätzen zu vergleichen und zu verstehen .

Antworten auf die Frage(4)

Ihre Antwort auf die Frage