ネストされたオブジェクトをクエリするにはどうすればいいですか? 質問する

ネストされたオブジェクトをクエリするにはどうすればいいですか? 質問する

ネストされたオブジェクト表記を使用して mongoDB をクエリするときに問題が発生します。

db.messages.find( { headers : { From: "[email protected]" } } ).count()
0
db.messages.find( { 'headers.From': "[email protected]" }  ).count()
5

何が間違っているのかわかりません。ネストされたオブジェクト表記では、ドット表記クエリと同じ結果が返されるものと予想しています。どこが間違っているのでしょうか?

ベストアンサー1

db.messages.find( { headers : { From: "[email protected]" } } )

headers これは、 が等しい { From: ... }、つまり他のフィールドを含まないドキュメントを照会します。


db.messages.find( { 'headers.From': "[email protected]" } )

これは、フィールドのみを参照しheaders.From、に含まれる、または欠落している他のフィールドの影響を受けませんheaders


ドット表記のドキュメント

おすすめ記事