$elemMatch
を使用できます クエリ演算子。クエリが必要です。
db.test.find( { arr: { $not: { $elemMatch: { $ne: null } } } } )
"$elemMatch" + "$ne"
この部分には、arr
が含まれるすべてのドキュメントが含まれます 配列に少なくとも1つのnull値がありません。
これらはすべて、null以外の値が少なくとも1つあるドキュメントです。
$not
この部分は、"$elemMatch" + "$ne"
にないすべてのドキュメントを保持します 。
これらは、すべての値がnull
であるすべてのドキュメントです。 。
フィールドが存在しないエッジケースに対応して、期待どおりに機能するようにしてください。