sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:¿Cómo consultar registros donde el campo es nulo o no está configurado?

Si el sent_at el campo no está allí cuando no está configurado, entonces:

db.emails.count({sent_at: {$exists: false}})

Si está ahí y es nulo, o no está ahí:

db.emails.count({sent_at: null})

Si está ahí y es nulo:

db.emails.count({sent_at: { $type: 10 }})

La sección Consulta de campos nulos o faltantes del manual de MongoDB describe cómo consultar valores nulos o faltantes.

Filtro de igualdad

El { item : null } la consulta coincide con documentos que contienen el campo de elemento cuyo valor es null o que no contienen el item campo.

db.inventory.find( { item: null } )

Comprobación de existencia

El siguiente ejemplo consulta documentos que no contienen un campo.

El { item : { $exists: false } } la consulta coincide con documentos que no contienen el item campo:

db.inventory.find( { item : { $exists: false } } )

Comprobación de tipo

El { item : { $type: 10 } } la consulta coincide solo documentos que contienen el item campo cuyo valor es null; es decir, el valor del campo del elemento es de tipo BSON Null (escriba el número 10 ) :

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