基本上,问题在于对大模型进行多个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);
})
})
})
谢谢大家!