Mongodb $或需要更多时间处理多种情况

时间:2019-04-30 08:01:19

标签: node.js mongodb mongoose aws-lambda aws-api-gateway

我遇到了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。如何优化此查询?我还有其他操作员吗?

0 个答案:

没有答案