sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB najde dokumenty, kde se všechny prvky pole rovnají nějaké hodnotě

Můžete použít $elemMatch operátor dotazu. Chce to jen dotaz.

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

"$elemMatch" + "$ne"

Tato část obsahuje všechny dokumenty, kde je arr pole nemají alespoň jednu hodnotu null.

Toto jsou všechny dokumenty, které mají alespoň jednu nenulovou hodnotu.

$not

Tato část uchová všechny dokumenty, které nejsou v "$elemMatch" + "$ne" .

Toto jsou všechny dokumenty, které mají všechny hodnoty null .

Prosím vybavte okrajové případy, kdy pole neexistuje, abyste se ujistili, že věci fungují podle očekávání.



  1. MongoDB-as-a-Service ve vašem vlastním účtu Amazon AWS

  2. nastavit expiraci pro hodnoty Hashmap v Redis?

  3. Vyplnění pouze konkrétních polí v manguách

  4. Filtrujte kolekci MongoDb, pokud se pole pole a pole argumentů protínají