我遇到了monogdb $ or运算符的问题。
第一步:从“实体”集合中获取实体ID,助记符和版本
步骤2:然后从“ equityDataMnemonicAggregator”集合中获取有关“实体”详细信息的数据。
我在这里使用$ or匹配记录。对于较少的数据,这不会造成问题。但是,从“实体”集合中,我获得了2000多个记录,可能是11k,如果我在$中传递了许多条件,或者即使我在“ equityDataMnemonicAggregator”中为entityID,助记符和版本建立索引,也要花费超过2分钟的时间。 \
注意:我正在使用AWS网关来实现API,它在30秒内抛出超时错误。
查询:
let queryList = [{
"entityID": "18571",
"mnemonic": "equityanalyst",
"version": 7
},{
"entityID": "18571",
"mnemonic": "insideractivity",
"version": 11
}]
db.getCollection('equityDataMnemonicAggregator').find({"$or": queryList})
这里的queryList包含两个记录,可能是2k或11k。如何优化此查询?我还有其他操作员吗?