から要素を比較するために、MongoDBの$を使用する:どこのは、私が2つの以下のMongoDBのドキュメントを持っていると仮定しましょうアレイ
{
"_id" : ObjectId(a59b0e19aff8a2ed2128bef97"),
"name" : "John",
"matches" : [
{
"name" : "Bob",
"count" : 10
},
{
"name" : "John",
"count" : 20
},
{
"name" : "Alice",
"count" : 30
}
]
}
{
"_id" : ObjectId(b59b0e19aff8a2ed2128bef97"),
"name" : "Mike",
"matches" : [
{
"name" : "Bob",
"count" : 10
},
{
"name" : "John",
"count" : 20
},
{
"name" : "Alice",
"count" : 30
}
]
}
私は「matches.name」と「名前」を比較しますMongoDBのクエリを作成する必要があります。
私の例では、 "マッチ"配列に "John"があるため、最初のドキュメントのみがマッチします。 Mikeが配列にないため、2番目の文書は一致しません。
私は{$where : "this.matches.name == this.name"}
を試しましたが、これは動作しません。
アイデア?
をあなたはMongoのクエリやjsのコードが行いますしたいですか?すでに文書をある変数にロードしていると、jsコードがより適切になるからです。 – Prasanna
いいえ、mongoクエリが必要です。 JSソリューションは、文書がすでにロードされている場合はこの場合単純です。 –