If the sent_at
field is not there when its not set then:
db.emails.count({sent_at: {$exists: false}})
If it's there and null, or not there at all:
db.emails.count({sent_at: null})
If it's there and null:
db.emails.count({sent_at: { $type: 10 }})
The Query for Null or Missing Fields section of the MongoDB manual describes how to query for null and missing values.
Equality Filter
The { item : null }
query matches documents that either contain the item field whose value is null
or that do not contain the item
field.
db.inventory.find( { item: null } )
Existence Check
The following example queries for documents that do not contain a field.
The { item : { $exists: false } }
query matches documents that do not contain the item
field:
db.inventory.find( { item : { $exists: false } } )
Type Check
The { item : { $type: 10 } }
query matches only documents that contain the item
field whose value is null
; i.e. the value of the item field is of BSON Type Null
(type number 10
) :
db.inventory.find( { item : { $type: 10 } } )