As mentioned earlier, you need to configure your application to connect to a mongos instance in order to retrieve full results from all shards.
However, it is extremely important to note that although you can perform queries without using the shard key, it forces the mongos instance to perform a broadcast operation. As mentioned earlier, this operation first sends out a query to all shards before retrieving the data. In addition, if you do not include the shard key in the query, its index is not used, further degrading performance.
As an example, from the sample data, let's assume that the management wants a count of all world_cities documents in England. The main difference in your program code is that you need to connect to a mongos instance rather than a mongod instance. Here is a sample program that achieves this result:
from pymongo import MongoClient
hostName = 'mongos1.biglittle...