Przechowywanie wartości zerowej i nie przechowywanie klucza w MongoDB

Wydaje mi się, że kiedy tworzysz dokument Mongo i masz pole{key, value} która czasami nie ma wartości, masz dwie opcje:

pisać{key, null} tj. wpisz wartość pustą w poluNie przechowuj klucza w tym dokumencie w ogóle

Obie opcje można łatwo zadać w jednej, o którą pytasz{key : null} i drugi, o który pytasz{key : {$exists : false}}.

Naprawdę nie myślę o żadnych różnicach między dwiema opcjami, które miałyby wpływ na scenariusz aplikacji (z wyjątkiem tego, że opcja 2 ma nieco mniej pamięci).

Czy ktoś może mi powiedzieć, czy są jakieś powody, dla których wolelibyśmy jedno z dwóch podejść nad drugim i dlaczego?

EDYTOWAĆ

Po zadaniu pytania przyszło mi również do głowy, że indeksy mogą zachowywać się inaczej w dwóch przypadkach, tj. Indeks rzadki może zostać utworzony dla opcji 2, ale nadal próbuję porównać i zrozumieć, jakie będą rozważania dotyczące pełnego indeksu w obu podejściach .

questionAnswers(4)

yourAnswerToTheQuestion