$elemMatch 操作に関しては、2.0.7 と 2.2.0 の間にいくつかの違いがあります。
2.2.0 では、次のクエリで結果が返されます。
db.testColl.find( { "metadata" : {$elemMatch : {$gt : {age:23}, $lt : {age:99}} }});
2.0.7 では、結果が返されません。
テスト目的で、testColl コレクションにはドキュメントが 1 つだけあります。
{
"_id" : ObjectId("4fb2974cbedb4a626109b002"),
"metadata" : [
{
"age" : 59
},
{
"gender" : "FEMALE"
}
]
}
これが 2.2.0 では機能するのに 2.0.7 では機能しない理由を知っている人はいますか?
これによれば:
http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24elemMatch
elemMatch は v1.4+ でサポートされています
ありがとう、ガレン