gpt4 book ai didi

Mongodb 分片集群 $in VS $or

转载 作者:可可西里 更新时间:2023-11-01 10:03:32 27 4
gpt4 key购买 nike

如果我在分片键中有 MongoDB shurded 集群:“my_key”。我必须在具有不同 my_key 的集合包文档(大约 10-500 项)中找到。敌人的例子:

db.test.find({my_key: {$in:[1,3,5,67,45,56...]}})

Mongos 知道带有“my_key”的 block 存储在哪里。mongos 可以将我的查询拆分为小查询以准确存储文档的碎片吗?或者 mongos 会将此查询发送到所有分片?

关于 $or 的同样问题

db.test.find({$or:[{my_key: 1},{my_key: 3},{my_key: 5}...]})

最佳答案

我已经运行了测试。

如果 $in 包含仅来自一个分片的值,mongos 将发送 SINGLE_SHARD 查询。

如果 $in 包含来自多个分片的值,则 mongos 将仅针对包含所需数据的分片(不是所有集群)发送 SHARD_MERGE 查询。

关于Mongodb 分片集群 $in VS $or,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32026504/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com