Balancer przenosi chunki między shardami, żeby wyrównać rozkład danych. Migracje zużywają CPU/IO/sieć i potrafią podnieść latencję, szczególnie gdy przenoszą duże lub „gorące” chunki. Zmniejsz wpływ dobrym shard key (bez hotspotów), monitoringiem migracji, uruchamianiem ich poza szczytem oraz (gdy ma sens) strefami i pre-splittingiem.
Rozwinięcie krótkiej odpowiedzi — co zwykle ma znaczenie w praktyce:
Krótki przykład (query + projection):
// Example: query + projection
const user = await db.collection('users').findOne(
{ email: '[email protected]' },
{ projection: { _id: 0, email: 1, name: 1 } },
)