MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB findet Dokumente, bei denen alle Array-Elemente einem bestimmten Wert entsprechen

Sie können $elemMatch verwenden Abfrageoperator. Es braucht nur eine Abfrage.

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

"$elemMatch" + "$ne"

Dieser Teil enthält alle Dokumente, in denen arr Array hat nicht mindestens einen Nullwert.

Dies sind alle Dokumente, die mindestens einen Nicht-Null-Wert haben.

$not

Dieser Teil behält alle Dokumente, die nicht in "$elemMatch" + "$ne" sind .

Dies sind alle Dokumente, die alle Werte als null haben .

Bitte berücksichtigen Sie Grenzfälle, in denen kein Feld vorhanden ist, um sicherzustellen, dass die Dinge wie erwartet funktionieren.