1. ホーム
  2. mongodb

[解決済み】ネストされたオブジェクトをクエリする方法は?

2022-04-04 04:54:22

質問

mongoDBにネストしたオブジェクト表記で問い合わせをすると、問題が発生します。

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

何が間違っているのかがわからない。私は、ネストされたオブジェクト表記がドット表記のクエリと同じ結果を返すことを期待しています。どこが間違ってるんだろう?

どのように解決するのですか?

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

このクエリは、以下のような文書を検索します。 headers イコール { From: ... } すなわち、他のフィールドを含まない。


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

を見るだけです。 headers.From フィールドに含まれる、あるいは欠落している他のフィールドの影響を受けない。 headers .


ドットノテーション・ドックス