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:
{key, null}
tj. wpisz wartość pustą w poluNie przechowuj klucza w tym dokumencie w ogóleObie 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 .