Si le sent_at
le champ n'est pas là quand il n'est pas défini alors :
db.emails.count({sent_at: {$exists: false}})
Si c'est là et nul, ou pas là du tout :
db.emails.count({sent_at: null})
S'il est là et nul :
db.emails.count({sent_at: { $type: 10 }})
La section Requête pour les champs nuls ou manquants du manuel MongoDB décrit comment interroger les valeurs nulles et manquantes.
Filtre d'égalité
L'élément
{ item : null }
la requête correspond aux documents qui contiennent le champ d'élément dont la valeur estnull
ou qui ne contiennent pas l'item
champ.db.inventory.find( { item: null } )
Vérification d'existence
L'exemple suivant recherche les documents qui ne contiennent pas de champ.
L'élément
{ item : { $exists: false } }
la requête correspond aux documents qui ne contiennent pas l'item
champ :db.inventory.find( { item : { $exists: false } } )
Vérifier le type
L'élément
{ item : { $type: 10 } }
la requête correspond uniquement les documents qui contiennent l'item
champ dont la valeur estnull
; c'est-à-dire que la valeur du champ de l'élément est de type BSONNull
(taper le numéro10
) :db.inventory.find( { item : { $type: 10 } } )