mongodb でネストしたオブジェクトをクエリする方法は何ですか?

MongoDBでは、ドット記法(.)を使用してネストされたオブジェクトにクエリをかけることができます。一般的なネストされたオブジェクトのクエリメソッドを以下に示します。

  1. ネストしたフィールドを指定するにはドット記法を使用します。
db.collection.find({"nestedObject.field": value})

これは指定されたネストされたフィールドを持つドキュメントを返します。ここで、nestedObject はネストされたオブジェクトのフィールド、field はネストされたオブジェクト内のサブフィールド、value は一致する値です。

  1. 入れ子になったフィールド範囲クエリー: ドッド表記と MongoDB の比較演算子を使用して範囲クエリーを実行できます。
db.collection.find({"nestedObject.field": {$gte: minValue, $lte: maxValue}})

指定範囲内にneastされたフィールドを持つドキュメントを返します。ここでnestedObjectはneastされたオブジェクトのフィールドで、fieldはneastされたオブジェクト内のサブフィールド、minValueとmaxValueは範囲の最小値と最大値です。

  1. 入れ子になった配列のクエリは、ドット表記や配列演算子を使用して、入れ子になった配列内の要素を照会できます。
db.collection.find({"nestedArray.field": value})

指定された値を含むネスト配列を持つドキュメントを返します。nestedArrayはネスト配列のフィールド、fieldはネスト配列内の要素フィールド、valueは一致させる値です。

  1. ネストしたオブジェクトの子フィールドに対するクエリを実行する方法: ドット表記を使用すると、ネストしたオブジェクト内の子フィールドに対してクエリを実行できます。
db.collection.find({"nestedObject.subField": value})

ネストされたオブジェクトのサブフィールドが指定した値と一致するドキュメントを返します。ただし、nestedObjectはネストされたオブジェクトのフィールドであり、subFieldはネストされたオブジェクトのサブフィールドで、valueは一致する値です。

なお、記載のクエリ手法は利用例の一部であり、実際の利用時には必要に応じて組み合わせてご利用ください。

bannerAds