首页 > 解决方案 > MongoDB:分片集合中的 $in 运算符

问题描述

$in 运算符在分片收集的情况下如何工作?

如果 $in 包含大量要搜索的 ObjectId,那么 find 查询的性能如何?

标签: mongodbmongodb-querysharding

解决方案


对于任何查询,mongos 路由器将尝试确定您的查询是否可以发送到单个分片(例如,它限制为分片键的特定值)。

如果是,则查询将被发送到一个分片,并且该分片返回的任何内容都将转发给应用程序。

如果否,查询将被发送到所有分片,它们的响应将由 mongos 组合,然后组合的响应将返回到您的应用程序。


推荐阅读