2017-05-10 9 views
1

ブルックリン、クイーンズ、スタテンアイランドなどの特定のボロー名を除外してクエリを実行しようとしていますが、除外する方法は1つだけでしたが、 1

ただ1つを除いて: db.rest.find({bor:{$ ne: "Brookyln"}});

これは1を除外するだけで働いていたので、私は、複数行うことができますどのように見て周りを見回したと

db.rest.find({自治区試してみました:{$ NE:[「ブルックリン」、「クイーンズ」を、 "スタテン島"]}});

これは機能しませんでしたが、これをどのように達成できますか?

+0

あなたは 'db.rest.find({自治区を試してみました]}}); '? More here https://docs.mongodb.com/manual/reference/operator/query/nin/ – Veeram

+0

$ ninの使用については考えていませんでしたが、助けてくれてありがとうございました。あなたは$ neが配列に対してなぜうまくいかないのか知っていますか? – goobs

+0

$ neは指定されたドキュメントフィールドの値が指定された配列に完全に一致することを必要とする可能性が高くなります。ほとんどの場合、 – Aaron

答えて

0

$nin

これは、フィールドが指定された配列内の任意の値が含まれていない文書が一致します。

フィールドが配列の場合、値が指定された配列にないドキュメントと一致します。

$in

これは、フィールドが指定された配列内の任意の値を持つ文書にマッチします。

フィールドが配列の場合、フィールドと指定された配列に少なくとも1つの一致する値があるドキュメントと一致します。

$eqおよび$neは等価演算子です。

フィールドが配列の場合、$eqはフィールドと指定された配列の順序と値が同じドキュメントに一致します。

フィールドが配列の場合、$neはフィールドと指定された配列の順序/値が異なるドキュメントと一致します。

参考:{$ニン:[ "ブルックリン"、 "クイーンズ"、 "スタテン島"

https://docs.mongodb.com/manual/reference/operator/query/ne/ https://docs.mongodb.com/manual/reference/operator/query/eq/ https://docs.mongodb.com/manual/reference/operator/query/nin/ https://docs.mongodb.com/manual/reference/operator/query/in/