Q:

What is the exact difference between mongod and mongos

While I was looking into the MongoDB documentation, I found two different terms mongod and mongos. 
While starting the server, I am using ./mongod --dbpath <path to mongodb> and I am running ./mongo to connect to the server.
Can someone please clarify the differences between these two terms.

A:

mongod is the daemon, mongo is the client, mongos is the 'MongoDB Shard Utility'. Take a look at man mongos:

mongos  for  "MongoDB  Shard," is a routing service for MongoDB shard configurations that processes queries from the application layer, and determines the location of this data in
         the sharded cluster, in order to complete these operations.  From the perspective of the application, a mongos instance behaves identically to any other MongoDB instance.

A:

The core components in the MongoDB package are: mongod - the core database process; mongos -  the controller and query router for sharded clusters; and mongo the interactive MongoDB Shell. 
For more information http://docs.mongodb.org/manual/reference/program/

A:

Mongos = MongoDB Shard Utility, the controller and query router for sharded clusters. Sharding partitions the data-set into discrete parts.
Mongod = The primary daemon process for the MongoDB system. It handles data requests, manages data access, and performs background management operations.
This explanation of mongo replication and sharding really helped me understand it: https://dba.stackexchange.com/a/53705/106925

