@@ -464,10 +464,28 @@ To route a query to a :term:`cluster <sharded cluster>`,
464
464
465
465
#. Determine the list of :term:`shards` that must receive the query.
466
466
467
- In some cases, when the :term:`shard key` is a part of the query,
468
- the :program:`mongos` can route the query to a subset of the
469
- shards. Otherwise, the :program:`mongos` must direct the query to
470
- *all* shards.
467
+ In some cases, when the :term:`shard key` or a prefix of the shard
468
+ key is a part of the query, the :program:`mongos` can route the
469
+ query to a subset of the shards. Otherwise, the :program:`mongos`
470
+ must direct the query to *all* shards.
471
+
472
+ .. example::
473
+
474
+ Given the following shard key:
475
+
476
+ .. code-block:: javascript
477
+
478
+ { zipcode: 1, u_id: 1, c_date: 1 }
479
+
480
+ Depending on the distribution of chunks in the cluster, the
481
+ :program:`mongos` may be able to target the query at a subset of
482
+ shards, if the query contains the following fields:
483
+
484
+ .. code-block:: javascript
485
+
486
+ { zipcode: 1 }
487
+ { zipcode: 1, u_id: 1 }
488
+ { zipcode: 1, u_id: 1, c_date: 1 }
471
489
472
490
#. Establish a cursor on all targeted shards.
473
491
0 commit comments