Mongodb: 「not in」クエリの使用方法


次の構文を使用すると、特定のフィールドの値が特定の値のリストにないすべてのドキュメントを検索できます。

 db.collection.find({field1: { $nin : [" value1 ", " value2 ", " value3 "]}}) 

この特定のクエリは、フィールド 1の値が value1、value2、または value3 に等しくないすべてのドキュメントを検索します。

次の例は、この構文を実際に使用する方法を示しています。

例 1: 値を使用して「NOT IN」をクエリする

次の書類を持った回収チームがあると仮定しましょう。

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

次のコードを使用すると、「team」フィールドが「Rockets」値と等しくないすべてのドキュメントを検索できます。

 db.teams.find({team: { $nin : [" Rockets "]}}) 

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

 { _id: ObjectId("619527e467d6742f66749b72"),
  team: 'Cavs',
  position: 'Guard',
  points: 33 }

{ _id: ObjectId("619527e467d6742f66749b6e"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

{ _id: ObjectId("619527e467d6742f66749b6f"),
  team: 'Mavs',
  position: 'Guard',
  points: 22 }

返されるドキュメントは、「チーム」フィールドが「ロケッツ」と等しくないドキュメントのみであることに注意してください。

例 2: 値のリストを使用した「NON IN」のクエリ

次の書類を持った回収チームがあると仮定しましょう。

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

次のコードを使用すると、「team」フィールドが「Rockets」または「Cavs」の値と等しくないすべてのドキュメントを検索できます。

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

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

 { _id: ObjectId("619527e467d6742f66749b6e"),
  team: 'Mavs',
  position: 'Guard',
  points: 31 }

{ _id: ObjectId("619527e467d6742f66749b6f"),
  team: 'Mavs',
  position: 'Guard',
  points: 22 }

返されるドキュメントは、「チーム」フィールドが「Rockets」または「Cavs」と等しくないドキュメントのみであることに注意してください。

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

追加リソース

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

MongoDB: 「Like」正規表現を使用してクエリを実行する方法
MongoDB: フィールドに文字列が含まれているかどうかを確認する方法
MongoDB: コレクションに新しいフィールドを追加する方法
MongoDB: 各ドキュメントからフィールドを削除する方法

コメントを追加する

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