MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :Comment interroger les enregistrements où le champ est nul ou non défini ?

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 est null 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 est null; c'est-à-dire que la valeur du champ de l'élément est de type BSON Null (taper le numéro 10 ) :

db.inventory.find( { item : { $type: 10 } } )