次の3つの文書がある場合。少なくとも2つの紫色の四角形を持つ文書を選択するにはどうすればよいですか。この場合、それは最後の要素にすぎません。配列内の一致するオブジェクトの数に基づいてMongoDbの文書を見つける方法
私はdb.foo.find({foo: {"$elemMatch": {shape: "square", color: "purple"}}})
で任意の紫色の正方形を持つ文書を選択することができます知っている。しかし、それは特定の回数と一致しなければなりませんと言うする方法はありますか?
// Document 1
{ "foo" : [
{
"shape" : "square",
"color" : "purple",
"thick" : false
},
{
"shape" : "circle",
"color" : "red",
"thick" : true
}
] }
// Document 2
{ "foo" : [
{
"shape" : "square",
"color" : "red",
"thick" : true
},
{
"shape" : "circle",
"color" : "purple",
"thick" : false
}
] }
// Document 3
{ "foo" : [
{
"shape" : "square",
"color" : "purple",
"thick" : false
},
{
"shape" : "square",
"color" : "purple",
"thick" : true
}
] }
この例では、ここで最後のサンプルから構成されている:http://www.mongodb.org/display/DOCS/Dot+Notation+%28Reaching+into+Objects%29