【发布时间】:2020-06-17 18:24:45
【问题描述】:
我收集了 1000000 个文档。我想获取那些 uid 不在给定 uids 中的文档。所以我使用 mongo find 查询和 $nin,所以查询看起来像:
{uid:{$nin:[1,2,3......500000}}
但假设将来我的文档数量增加,并且我通过 $nin 查询传递了更多的 uid。
使用 $nin 查询的 Mongo 剂量会影响查询性能吗?在不使用 $nin 查询的情况下还有其他选择吗?
【问题讨论】:
-
您的问题不清楚,因为当规模上升时,任何查询的性能都会下降。
$nin特别不擅长利用索引,因为它仍然需要扫描大部分数据。如果这个系列单调且密集,请尝试使用$gt代替? -
标签: arrays mongodb mongodb-query