1
ドキュメント私だけ_id = 1 & _id = 2が返されるべきであることを意味する「B!= 4」文書のみを取得する必要があります上記の文書からのフォーマット配列内のフィールドがMongoDBの特定の値と等しくないドキュメントをフェッチする方法はありますか?データベースコレクション内
{
_id:1,
a: [{b:1, c:2, d:3}, {b:2, c:3, d:4}]
},
{
_id:2,
a: [{b:2, c:2, d:4}, {b:3, c:5, d:4}]
},
{
_id:3,
a: [{b:4, c:4, d:3}, {b:5, c:3, d:2}]
}
の下です。
このため、以下のクエリを試しましたが、期待した結果が得られませんでした。代わりに私はすべての文書を持っています。
db.collectionname.find({a: {$nin: [{b: 4}]}})
他の解決策は、私を助けてください。
我々は、おそらくことを説明する文章や2を追加できます:単一のフィールドのチェックのために
、あなたは正しいクエリが
これが返され
$ne
を使用する必要があります配列にマッチさせるために '$ nin'や' $ in'を使うことは、実際には "逆の方法"です。なぜなら "リストとのマッチング"ではなく "リストの値"を取る演算子なのですから。 OPが '$ nin'に飛び乗ったことを考えれば、なぜ彼らの選択が間違っているのかを実際に説明するのはいいかもしれません。 –
説明もありがとう、今私はその違いを理解しています。 –