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: 各ドキュメントからフィールドを削除する方法