我正在尝试结合正则表达式和嵌入式对象查询并且失败得很惨。我要么遇到了 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:
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();
有谁明白为什么?这是一个错误吗?
谢谢