2015-04-12 56 views
0

我阅读了mongo官方网站上的分片文档。 但是,我不能为这些答案:分片集合的索引需要从分片键开始?

  1. 是否所有的分片集合的索引需要开始与片键?

  2. 如果我在分片集合的字段上需要TTL索引,并且TTL不支持复合索引,那么在这种情况下我会做什么? (现场!=片键)

回答

0
  1. 号你可以有一个分片收集任何索引。但是,不包含分片键的查询将被发送到全部分片。然后单个分片将利用任何现有的索引,并将其结果发送回mongos查询路由器,查询路由器将根据需要对结果进行排序,并将结果集发送回客户端。请阅读Routing Process in the MongoDB docs了解更多详情。
  2. TTL删除是在日期字段上运行的后台进程。你的每个碎片都会产生后台进程。所以你可以简单地在你选择的日期字段上创建TTL索引。每个单独的分片将处理要删除的文档。