If a query doesn’t include the shard key (or its useful prefix), `mongos` may have to ask many shards and merge results (“scatter-gather”), which increases latency and load. You avoid it by choosing a shard key that matches your common query patterns and by ensuring queries include it.
Expanding on the short answer — what usually matters in practice:
A tiny example (query + projection):
// Example: query + projection
const user = await db.collection('users').findOne(
{ email: '[email protected]' },
{ projection: { _id: 0, email: 1, name: 1 } },
)