Хранение нулей против хранения ключей вообще в MongoDB
Мне кажется, что когда вы создаете монго документ и имеете поле{key, value}
который иногда не будет иметь значения, у вас есть два варианта:
{key, null}
то есть записать нулевое значение в полеДон»не хранить ключ в этом документе вообщеОба варианта легко запрашиваются, в одном из которых вы запрашиваете{key : null}
и другой вы запрашиваете.{key : {$exists : false}}
Я могу'на самом деле не стоит думать о каких-либо различиях между двумя вариантами, которые могли бы оказать какое-либо влияние в сценарии приложения (за исключением того, что вариант 2 имеет немного меньше места для хранения).
Может кто-нибудь сказать мне, если есть какие-либо причины, по которым один из них предпочел бы один из двух подходов, а почему?
РЕДАКТИРОВАТЬ
После того, как я задал вопрос, мне также пришло в голову, что индексы могут вести себя по-разному в двух случаях, то есть для варианта 2 можно создать разреженный индекс, но яЯ все еще пытаюсь сравнить и понять, какие будут общие соображения по поводу индекса в двух подходах.