Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb中分片情况下的排序_Mongodb_Sorting_Mongodb Query_Sharding_Nosql - Fatal编程技术网

mongodb中分片情况下的排序

mongodb中分片情况下的排序,mongodb,sorting,mongodb-query,sharding,nosql,Mongodb,Sorting,Mongodb Query,Sharding,Nosql,我已经在mongodb中实现了切分,当我们基于哈希切分键将一个集合切分为两个mongod切分时,它在切分中执行并行排序。之后,它如何根据_id对集合进行排序?其他的考虑点是什么?什么是: 散列分片密钥的限制 mongo查询路由器使用什么排序过程对从碎片中获取的记录进行排序 查询是否会因网络延迟而受到影响 不确定 如果不指定排序,mongo将从碎片返回循环记录,我认为这意味着不保证任何特定的顺序,甚至不保证查询之间的顺序是可复制的。如果有显式排序,则主碎片将执行合并排序。见 当然 (这是一个老问题

我已经在mongodb中实现了切分,当我们基于哈希切分键将一个集合切分为两个mongod切分时,它在切分中执行并行排序。之后,它如何根据_id对集合进行排序?其他的考虑点是什么?什么是:

  • 散列分片密钥的限制
  • mongo查询路由器使用什么排序过程对从碎片中获取的记录进行排序
  • 查询是否会因网络延迟而受到影响
  • 不确定

  • 如果不指定排序,mongo将从碎片返回循环记录,我认为这意味着不保证任何特定的顺序,甚至不保证查询之间的顺序是可复制的。如果有显式排序,则主碎片将执行合并排序。见

  • 当然

  • (这是一个老问题,但在谷歌搜索结果中出现得很高。)

    From:“mongos然后合并每个目标碎片的数据并返回结果文档。在mongos检索结果之前,某些查询修饰符(如排序)会在主碎片等碎片上执行。”。“如主”的措辞有点含糊不清。。。为什么不在mongos检索结果之前告诉“在主碎片上执行排序”以完全清楚主碎片是执行合并的碎片?此外,explain()在本例中显示了碎片合并排序阶段,但它没有指定执行合并的碎片(主碎片或其他碎片)。