多个猫鼬找到相关查询,如何简化为仅一个?

时间:2019-12-10 16:37:17

标签: node.js mongodb mongoose

基本上,问题在于对大模型进行多个mongo查询以处理数据会在数据很大时导致超时和性能问题。我需要提高代码性能。是否有任何方法可以进行单个聚合或相关查询,以查询这些倍数表并在下一阶段之前接受,是否可以对聚合的当前阶段中获得的数据进行映射,如我的示例代码块所示? >

return Foo.findOne({ id: 123asd })
 .then(foundFoo => {
   return Bar.find({ 'prop': foundFoo.someProp })
      .then(foundBars => {
        const neededArrayForNextFind = foundBars.map(bar => bar.neededProp);
        return AnotherFoo.find({
               'someProp': {'$in' : neededArrayForNextFind} 
            }).then(foundAnotherFoo => { 
              return doOtherStuffWithFoundData(foundFoo,foundBars,foundAnotherFoo);   
            })
      })
})

谢谢大家!

0 个答案:

没有答案