查询包含6万多个文档的mongoDB数据库集合

时间:2018-12-03 12:00:16

标签: node.js mongodb

我尝试搜索类似的答案并应用了解决方案。在我看来,该解决方案似乎不起作用。我正在查询包含 60k个文档的猫鼬集合,我需要全部60k才能应用组合运算符。因此,不能应用限制。我可以通过根据某个属性多次查询来减少数据量,但这在性能方面也很昂贵。我看不到其他尝试方法。有人可以帮我吗?

我现在正在使用以下简单代码:

 StagingData.find({})
            .lean()
             .exec(function(err, results){
              console.log(results) //I don't get any output
             }

当我使用时:

let data = await StagingData.find({}).lean() //it takes forever

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可能想先应用索引,例如将某些值预先计算为单独的操作,并行处理等。为此,您可能希望跳到另一种技术,例如Elasticsearch,Spark等取决于您的代码。

您可能还想确定过程中的瓶颈:内存,处理器。尝试试验一组较短的文档,看看获得结果的速度如何。这样,您就可以推断出整个数据集需要花费多长时间。 您也可以尝试将操作分解为较小的块,并确定处理成本等。