Mongodb空的find({})查询需要很长时间才能返回文档

时间:2019-06-16 23:43:54

标签: node.js mongodb

我在一个mlab沙箱中有大约19,000个文档,总大小约为160mb。我将查询可能需要这些文档的大量过滤子集或完全未过滤的查询。在所有情况下,我需要返回的信息都是一个100长度的数组,该数组是每个文档的属性。因此,在没有过滤器的情况下,我希望获得19k阵列,然后对其进行进一步处理。我正在测试的查询是db.find({}, { vector: 1 });

使用.explain(),我可以看到此查询根本不需要很长时间。但是,我的代码最多需要50秒才能看到返回的数据。起初我以为只是下载一堆数据要花费很长时间,但是矢量数据的总大小只有20mb左右,应该不会花那么长时间。 (对于上下文,我的nodejs服务器在托管数据库的同时在我的PC上本地运行,因此会有一些转移。)

这么长时间需要什么?空查询不需要花费任何时间来执行,将结果仅投影到向量中意味着我只需要下载约20mb的数据,这只需几秒钟。

0 个答案:

没有答案