$existsОператор $exists проверяет, присутствует ли конкретное поле в документе или его там нет, независимо от значения.
{ field: { $exists: true } } — находит документы, где поле существует, даже если его значение равно null{ field: { $exists: false } } — находит документы, где поле полностью отсутствуетnull vs. отсутствие поляЭто критическое отличие:
null всё ещё существует в документе — $exists: true его найдёт$exists: false его найдёт// Находит документы, где "email" существует (включая email: null)
db.users.find({ email: { $exists: true } })
// Находит документы, где "email" никогда не был определён
db.users.find({ email: { $exists: false } })
Оператор $exists: true будет искать документы, где поле присутствует со значением null, в то время как $exists: false будет искать только документы, где ключ поля полностью отсутствует в документе.
Новый — ещё не проверен сообществом
Вы