sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB:Hur frågar man efter poster där fältet är null eller inte är satt?

Om sent_at fältet är inte där när det inte är inställt då:

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

Om det är där och null, eller inte alls:

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

Om det finns där och null:

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

Avsnittet Fråga efter noll eller saknade fält i MongoDB-manualen beskriver hur man frågar efter nollvärden och saknade värden.

Jämställdhetsfilter

{ item : null } fråga matchar dokument som antingen innehåller objektfältet vars värde är null eller som inte innehåller item fältet.

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

Existenskontroll

Följande exempel frågar efter dokument som inte innehåller ett fält.

{ item : { $exists: false } } sökfrågan matchar dokument som inte innehåller item fält:

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

Typkontroll

{ item : { $type: 10 } } sökfrågan matchar endast dokument som innehåller item fält vars värde är null; dvs värdet på artikelfältet är av BSON Typ Null (typnummer 10 ) :

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


  1. Hur man använder kryptering för att skydda MongoDB-data

  2. Är master alltid omdisponerad instans med minsta prioritet?

  3. MongoDB - Fråga efter en samling

  4. MassTransit saga med Redis persistens ger Method Accpet har inget undantag för implementering