Mongodb: クエリで「not equal」を使用する方法


MongoDB で$ne演算子 (「等しくない」を意味する) を使用すると、フィールドが特定の値と等しくないドキュメントを検索できます。

この演算子は次の基本構文を使用します。

 db.myCollection.find({' team ': { $ne : " Mavs "}})

この特定の例では、 myCollectionという名前のコレクション内でチームフィールドが「Mavs」に等しくないすべてのドキュメントを検索します。

$nin演算子 (「含まれていない」という意味) を使用して、フィールドがリスト内のどの値とも等しくないドキュメントを検索することもできます。

この演算子は次の基本構文を使用します。

 db.myCollection.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})

この特定の例では、 myCollectionという名前のコレクション内で、チームフィールドが「Mavs」、「Cavs」、または「Spurs」に等しくないすべてのドキュメントを検索します。

次の例は、次の文書を使用して収集チームで実際に各方法を使用する方法を示しています。

 db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8})
db.teams.insertOne({team: " Spurs ", points: 35, rebounds: 12})
db.teams.insertOne({team: " Rockets ", points: 20, rebounds: 7})
db.teams.insertOne({team: " Warriors ", points: 25, rebounds: 5})
db.teams.insertOne({team: " Cavs ", points: 23, rebounds: 9})

例 1: 「異なる」クエリ

次のコードは、チームコレクション内の「チーム」フィールドが「Mavs」と等しくないすべてのドキュメントを検索する方法を示しています。

 db.teams.find({' team ': { $ne : " Mavs "}})

このクエリは次のドキュメントを返します。

 { _id: ObjectId("6203ec0e1e95a9885e1e7658"),
  team: 'Cavs',
  points: 23,
  rebounds: 9 }
{ _id: ObjectId("6203ec0e1e95a9885e1e7656"),
  team: 'Rockets',
  points: 20,
  rebounds: 7 }
{ _id: ObjectId("6203ec0e1e95a9885e1e7655"),
  team: 'Spurs',
  points: 35,
  rebounds: 12 }
{ _id: ObjectId("6203ec0e1e95a9885e1e7657"),
  team: 'Warriors',
  points: 25,
  rebounds: 5 }

チームコレクション内のすべてのドキュメントは、チームフィールドが「Mavs」と等しくない場合に返されることに注意してください。

: $ne演算子では大文字と小文字が区別されます。

例 2: 「Not in」クエリ

次のコードは、チームコレクション内のチームフィールドが「Mavs」、「Cavs」、または「Spurs」に等しくないすべてのドキュメントを検索する方法を示しています。

 db.teams.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})

このクエリは次のドキュメントを返します。

 { _id: ObjectId("6203ec0e1e95a9885e1e7656"),
  team: 'Rockets',
  points: 20,
  rebounds: 7 }
{ _id: ObjectId("6203ec0e1e95a9885e1e7657"),
  team: 'Warriors',
  points: 25,
  rebounds: 5 }

チームコレクション内の各ドキュメントは、チームフィールドが「Mavs」、「Cavs」、または「Spurs」に等しくない場合に返されることに注意してください。

注 #1 : $ne関数の完全なドキュメントはここで見つけることができます。

注 #2 : $nin関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、MongoDB で他の一般的な操作を実行する方法について説明します。

MongoDB: フィールドに文字列が含まれているかどうかを確認する方法
MongoDB: 特定のフィールドで「not null」を検索する方法
MongoDB: 文字列を置換する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です