节点js:Mongo DB性能$ in

时间:2018-12-17 17:42:02

标签: node.js mongodb mongoose

我有一个包含1121547个文档的集合,我必须具有5014个ID在这些文档之间进行搜索。最好使用$ in运算符进行查询,找到它的光标,然后使用eachAsync遍历注册表,还是最好使用id在find中逐一查找ID?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我建议您使用$ in进行搜索。 -如果您确实为每个ID找到find(),那么您将在Mongo以及您的代码中处理文档。但是在$ in中它们在Mongo中进行处理。 -第二点是,所有操作(如find())都是扫描方法,除非您进行索引编制,否则它们将在所有文档中寻找匹配项。因此,请确保您要搜索的ID已被索引。