Mongodb: 「not null」をクエリするにはどうすればよいですか?特定の地域で


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

 db.collection.find({" field_name ":{ $ne : null }}) 

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

例 1: 特定のフィールドで「not null」をクエリする

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

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

次のコードを使用すると、「位置」フィールドが null ではないすべてのドキュメントを検索できます。

 db.teams.find({" position ":{ $ne : null }})

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

 { _id: ObjectId("618bf18f35d8a762d3c28717"),
  team: 'Spurs',
  position: 'Guard',
  points: 22 }

{ _id: ObjectId("618bf18f35d8a762d3c28719"),
  team: 'Warriors',
  position: 'Forward',
  points: 26 }

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

返されるドキュメントは、「位置」フィールドが null でないドキュメントのみであることに注意してください。

例 2: 「not null」のクエリ (すべてのドキュメントにフィールドが含まれていない場合)

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

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

コレクションの 2 番目のドキュメントには「位置」フィールドさえないことに注意してください。

次のコードを使用すると、「位置」フィールドがゼロではないすべてのドキュメントを検索できます。

 db.teams.find({" position ":{ $ne : null }})

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

 { _id: ObjectId("618bf18f35d8a762d3c28719"),
  team: 'Warriors',
  position: 'Forward',
  points: 26 }

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

2 番目のドキュメントには「位置」フィールドすらないため、返されません。

また、「位置」フィールドにnull値がある他の 2 つのドキュメントも返されないことに注意してください。

概要: $ne:null構文を使用すると、特定のフィールドが存在し null ではないドキュメントのみが返されます。

追加リソース

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

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

コメントを追加する

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