Mongodb MongoError:“;Can';t规范化查询:BadValue$,其中不能应用于字段";

Mongodb MongoError:“;Can';t规范化查询:BadValue$,其中不能应用于字段";,mongodb,Mongodb,我的mongo收藏记录如下 { "_id": ObjectId("58c1c1712031fd38e4a30ce1"), "name": "TEST", "grpName": "TEST", "lookupType": "TEST", "keys": { "TIER": ".*Gold.*", "WLAN_Location": "UseCase_Tier_WLAN", "TGPP_Location": "U

我的mongo收藏记录如下

 {
    "_id": ObjectId("58c1c1712031fd38e4a30ce1"),
    "name": "TEST",
    "grpName": "TEST",
    "lookupType": "TEST",
    "keys": {
        "TIER": ".*Gold.*",
        "WLAN_Location": "UseCase_Tier_WLAN",
        "TGPP_Location": "UseCase_Tier_TGPP"
    },
    "version_key": NumberLong(7),
    "_transId": "8cea9a7e-1759-4016-9c65-2d043ae0605e-5"
 }
我开枪了

"db.dmtl_TEST.find({"keys.TIER":{$where:"Gold".match("keys.TIER")}})" 
查询但获取

错误代码17287,消息为“无法规范化查询:BadValue” $where不能应用于字段”


我使用$where匹配mongo记录中存储的正则表达式值。我做错什么了吗?

这应该行得通
db.dmtl\u TEST.find({$where:'Gold.match(this.keys.TIER)})
谢谢你,Veeram,它起作用了。为什么我在尝试将你的答案与我的示例匹配时出现语法错误:
data=db['WDIData'].find({'u-id':0,“国家名称”:1,$where:'Indicator-Name.match(ind)},年份:1})
。找不到任何文档。