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í.