0

Looking at the MongoDB project, it seems to have many drivers. It has a C Driver, Java Driver, Ruby Driver, etc...

How are these different from client libraries? It seems that each of those provide an interface to use the product (in this case MongoDB) from one of those languages.

Is there a technical difference between the two terms?

Thanks!

user3207158
  • 619
  • 2
  • 5
  • 22
user2490003
  • 10,706
  • 17
  • 79
  • 155
  • See [this](http://programmers.stackexchange.com/questions/208572/in-embedded-is-there-any-difference-between-a-device-driver-and-a-library) – Bharat Gupta Apr 20 '16 at 04:47

1 Answers1

1

An application communicates with MongoDB by way of a client library, called a driver, that handles all interaction with the database in a language appropriate to the application.

Source: https://docs.mongodb.org/manual/applications/drivers/

user3207158
  • 619
  • 2
  • 5
  • 22
  • So from that definition, they seem to be equivalent and interchangeable terms? – user2490003 Apr 20 '16 at 17:14
  • 1
    @user2490003 Sometime they are equivalent and interchangeable. But in a boarder sense, they are not the same thing. A JDBC driver (to Oracle) is part of a larger Java library. This Java library may do more things than just connecting to a DB, which is a driver is supposed to do. In Ruby's term, MongoDB Ruby Driver It can be used on its own, but it also serves as the basis of several object mapping libraries, such as Mongoid. [link] (https://docs.mongodb.org/ecosystem/drivers/ruby/) – user3207158 Apr 20 '16 at 22:32