MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB:come eseguire una query per i record in cui il campo è nullo o non impostato?

Se il sent_at il campo non è presente quando non è impostato, quindi:

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

Se è presente e nullo, o non è presente affatto:

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

Se è presente e nullo:

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

La sezione Query per campi nulli o mancanti del manuale di MongoDB descrive come eseguire query per valori nulli e mancanti.

Filtro di uguaglianza

Il { item : null } query corrisponde a documenti che contengono il campo dell'elemento il cui valore è null o che non contengono l'item campo.

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

Verifica dell'esistenza

L'esempio seguente interroga i documenti che non contengono un campo.

L'elemento { item : { $exists: false } } query corrisponde a documenti che non contengono l'item campo:

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

Verifica tipo

L'elemento { item : { $type: 10 } } la query corrisponde solo documenti che contengono l'item campo il cui valore è null; ovvero il valore del campo dell'articolo è di tipo BSON Null (digitare il numero 10 ) :

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