拥有子文档相当于拥有 N x M 文档的集合?

问题描述 投票:0回答:1

假设一个集合有 N 个文档,每个文档都有一个包含 M 个子文档的数组字段。

对于在具有 M 个子文档的字段上使用

$elemMatch
来过滤并查找该集合中的许多文档的查询,时间复杂度是否相当于搜索 N X M 个文档的文档?

arrays mongodb mongodb-query aggregation-framework subdocument
1个回答
0
投票

是的,在 N 个文档中每个包含 M 个子文档的数组字段上使用 $elemMatch 进行查询的时间复杂度相当于搜索 𝑁×𝑀 文档。这是因为对于 N 个文档中的每一个,查询都需要评估数组中 M 个子文档中每一个的条件,从而总共产生 𝑁×𝑀 评估。

© www.soinside.com 2019 - 2024. All rights reserved.