Introduction
So far, we have executed the majority of operations in the shell using Mongo. The Mongo shell is a great tool for administrators to perform administrative tasks and for developers who would like to quickly test things by querying the data before coding the logic in the application. However, how do we write application code that will allow us to query, insert, update, and delete (among other things) the data in MongoDB? There has to be a library for the programming language that we write our application in. We should be able to instantiate something or invoke methods from the program to perform some operations on the remote Mongo process.
How would this happen unless there is some bridge that understands the protocol of communication with the remote server and is able to transmit the operation over the wire that we require in order to execute on the Mongo server process and get the result back to the client. This bridge, simply put, is called the driver, also referred to as client...