Mongodb 碎片收集';s索引是否需要以shard键开始?

Mongodb 碎片收集';s索引是否需要以shard键开始?,mongodb,Mongodb,我阅读了mongo官方网站上的切分文档。 然而,我无法回答这些问题: 是否所有分片集合的索引都需要以分片键开始 如果我需要一个切分集合的字段上的TTL索引,并且由于TTL不支持复合索引,那么在这种情况下我会做什么?(字段!=分片键) 不可以。您可以在分片集合上拥有任何索引。但是,不包括分片键的查询将发送到所有分片。然后,单个碎片将利用任何现有索引,将其结果发送回mongos查询路由器,后者将根据需要对结果进行排序,并将结果集发送回客户端。详情请参阅 TTL删除是在日期字段上运行的后台进程。你的每

我阅读了mongo官方网站上的切分文档。 然而,我无法回答这些问题:

  • 是否所有分片集合的索引都需要以分片键开始

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

  • 不可以。您可以在分片集合上拥有任何索引。但是,不包括分片键的查询将发送到所有分片。然后,单个碎片将利用任何现有索引,将其结果发送回
    mongos
    查询路由器,后者将根据需要对结果进行排序,并将结果集发送回客户端。详情请参阅
  • TTL删除是在日期字段上运行的后台进程。你的每一个碎片都会在后台生成。因此,您只需在所选的日期字段上创建TTL索引。每个单独的碎片将处理要删除的文档