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

MongoDB finder dokumenter, hvor alle array-elementer er lig med en eller anden værdi

Du kan bruge $elemMatch forespørgselsoperatør. Det mangler bare en forespørgsel.

 db.test.find( { arr:  { $not: { $elemMatch: { $ne: null } } } } )

"$elemMatch" + "$ne"

Denne del inkluderer alle de dokumenter, hvor arr array har ikke mindst én null-værdi.

Dette er alle de dokumenter, der har mindst én værdi, der ikke er null.

$not

Denne del vil beholde alle de dokumenter, der ikke er i "$elemMatch" + "$ne" .

Dette er alle de dokumenter, der har alle værdier som null .

Vær venlig at imødekomme edge-tilfælde, hvor felt ikke eksisterer for at sikre, at tingene fungerer som forventet.



  1. HBase BlockCache 101

  2. Spring Data MongoDB:BigInteger til ObjectId konvertering

  3. Hvad er fordelen ved at bruge Gorilla-sessions tilpasset backend?

  4. Hvordan får man Mongoose til at liste alle dokumenter i samlingen? For at fortælle om samlingen er tom?