Хранение нулей против хранения ключей вообще в MongoDB

Мне кажется, что когда вы создаете монго документ и имеете поле{key, value} который иногда не будет иметь значения, у вас есть два варианта:

Write {key, null} i.e. write null value in the field Don't store the key in that document at all

Оба варианта легко запрашиваются, в одном из которых вы запрашиваете{key : null} а другой вы запрашиваете{key : {$exists : false}}.

Я действительно не могу думать о каких-либо различиях между этими двумя вариантами, которые могли бы оказать какое-либо влияние в сценарии приложения (за исключением того, что у варианта 2 немного меньше места для хранения).

Может кто-нибудь сказать мне, если есть какие-либо причины, по которым один из них предпочел бы один из двух подходов, а почему?

EDIT

После того, как я задал вопрос, мне также пришло в голову, что индексы могут вести себя по-разному в двух случаях, т. Е. Для варианта 2 может быть создан разреженный индекс, но я все еще пытаюсь сравнить и понять, какими будут полные соображения относительно индекса в двух подходах. ,

Ответы на вопрос(4)

Ваш ответ на вопрос