Ако sent_at
полето не е там, когато не е зададено тогава:
db.emails.count({sent_at: {$exists: false}})
Ако е там и е нула, или изобщо не е там:
db.emails.count({sent_at: null})
Ако е там и е нула:
db.emails.count({sent_at: { $type: 10 }})
Разделът „Заявка за нулеви или липсващи полета“ в ръководството на MongoDB описва как да направите заявка за нулеви и липсващи стойности.
Филтър за равенство
{ item : null }
заявката съответства на документи, които или съдържат полето за елемент, чиято стойност еnull
или които не съдържатitem
поле.db.inventory.find( { item: null } )
Проверка на съществуването
Следният пример прави заявки за документи, които не съдържат поле.
{ item : { $exists: false } }
заявката съответства на документи, които не съдържатitem
поле:db.inventory.find( { item : { $exists: false } } )
Проверка на типа
{ item : { $type: 10 } }
заявката съвпада само документи, които съдържатitem
поле, чиято стойност еnull
; т.е. стойността на полето за елемент е от тип BSONNull
(тип номер10
) :db.inventory.find( { item : { $type: 10 } } )