MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB:Como consultar registros onde o campo é nulo ou não definido?


Se o sent_at campo não está lá quando não está definido então:
db.emails.count({sent_at: {$exists: false}})

Se estiver lá e nulo, ou não estiver lá:
db.emails.count({sent_at: null})

Se estiver lá e nulo:
db.emails.count({sent_at: { $type: 10 }})

A seção Consultar campos nulos ou ausentes do manual do MongoDB descreve como consultar valores nulos e ausentes.

Filtro de igualdade


O { item : null } query corresponde a documentos que contêm o campo de item cujo valor é null ou que não contêm o item campo.
db.inventory.find( { item: null } )

Verificação de existência


O exemplo a seguir consulta documentos que não contêm um campo.

O { item : { $exists: false } } consulta corresponde a documentos que não contêm o item campo:
db.inventory.find( { item : { $exists: false } } )

Verificação de tipo


O { item : { $type: 10 } } consulta corresponde somente documentos que contenham o item campo cujo valor é null; ou seja, o valor do campo do item é do tipo BSON Null (digite o número 10 ):
db.inventory.find( { item : { $type: 10 } } )