正規表現と埋め込みオブジェクトのクエリを組み合わせようとしていますが、惨めに失敗しています。私はmongodbの制限に達しているか、少し間違っているだけかもしれません。誰かがこれに遭遇した可能性があります。ドキュメントは確かにこのケースをカバーしていません。
照会されるデータ:
{
"_id" : ObjectId("4f94fe633004c1ef4d892314"),
"productname" : "lightbulb",
"availability" : [
{
"country" : "USA",
"storeCode" : "abc-1234"
},
{
"country" : "USA",
"storeCode" : "xzy-6784"
},
{
"country" : "USA",
"storeCode" : "abc-3454"
},
{
"country" : "CANADA",
"storeCode" : "abc-6845"
}
]
}
コレクションには 1 つのレコードのみが含まれていると仮定します
このクエリは 1 を返します。
db.testCol.find({"availability":{"country" : "USA","storeCode":"xzy-6784"}}).count();
このクエリは 1 を返します。
db.testCol.find({"availability.storeCode":/.*/}).count();
ただし、このクエリは 0 を返します。
db.testCol.find({"availability":{"country" : "USA","storeCode":/.*/}}).count();
誰かが理由を理解していますか?これはバグですか?
ありがとう