Technicky nemusíte svůj obsah skartovat a stačí indexovat své pole. Ano, můžete vytvořit index v datovém poli a bylo by to respektováno, což můžete vidět v plánu dotazů db.collection.explain("executionStats")
Výběr shard key je však velmi důležitý. při výběru shard key
je třeba zvážit několik věcí- Write scaling (high cardinality, Randomization)
- Query Isolation. (read)
výběr datového pole ve skutečnosti poskytuje velmi vysokou mohutnost, ale selhává při provádění randomizace a v důsledku toho jsou všechny dokumenty uloženy do jednoho datového fragmentu, což omezuje kapacitu systému pro zápis. Ze stejného důvodu se nedoporučuje používat ObjectId jako klíčový klíč.
http://docs.mongodb.org/manual/core/sharding- shard-key/ Obsah z výše uvedeného odkazu..."MongoDB generuje při vytváření dokumentu hodnoty ObjectId, aby vytvořil jedinečný identifikátor pro objekt. Nejvýznamnější bity dat v této hodnotě však představují časové razítko, což znamená, že se zvyšují pravidelný a předvídatelný vzor. I když má tato hodnota vysokou mohutnost, při použití tohoto, libovolného data nebo jiného monotónně rostoucího čísla jako klíčového fragmentu budou všechny operace vkládání ukládat data do jednoho bloku, a tedy jediného fragmentu. ve výsledku bude kapacita zápisu tohoto fragmentu určovat efektivní kapacitu pro zápis clusteru."