sql >> Database >  >> NoSQL >> MongoDB

MongoDB:Hoe een query uit te voeren voor records waarbij het veld null of niet is ingesteld?

Als de sent_at veld is er niet als het niet is ingesteld, dan:

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

Als het er is en null, of helemaal niet:

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

Als het daar is en null:

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

In het gedeelte Query for Null or Missing Fields van de MongoDB-handleiding wordt beschreven hoe u kunt zoeken naar null- en ontbrekende waarden.

Gelijkheidsfilter

Het { item : null } query komt overeen met documenten die ofwel het itemveld bevatten waarvan de waarde null is of die niet het item bevatten veld.

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

Bestaanscontrole

De volgende voorbeeldquery's voor documenten die geen veld bevatten.

Het { item : { $exists: false } } zoekopdracht komt overeen met documenten die het item . niet bevatten veld:

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

Typecontrole

Het { item : { $type: 10 } } zoekopdracht komt alleen overeen documenten die het item . bevatten veld waarvan de waarde null is; d.w.z. de waarde van het itemveld is van BSON Type Null (type nummer 10 ) :

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


  1. Wat is de juiste manier om een ​​HAVING te doen in een MongoDB GROUP BY?

  2. Hoe kan ik machtigingen op veldniveau voor MongoDB implementeren?

  3. hoe een willekeurig json-object op webapi te plaatsen

  4. Realtime communicatie tussen app en webpagina