Download the Driver From GitHub

1 of 11

Download the Driver From GitHub

The driver is readily available for download on github, in the mongodb section.

2 of 11

Accessing the Documentation

The link on the driver page takes you to the official documentation, which includes a complete description of the entire API.

3 of 11

Installing the Driver

Although you can access the driver, readme and docs through github, the driver itself can be installed using the Node.js npm package manager.

4 of 11

Timing an Insert

Inserts performed well. More time was spent connecting to the database itself.

5 of 11

Handling Errors

When an error occurs, the driver gives back an error object. To inspect this, we simply sent it down to the browser and then pasted the text into the debugger so we could look at it as a JavaScript object.

6 of 11

The Stack Isnt Much Help

Included with the error object is a full stack trace of the actual exception that occurred. However, this isn't very useful since it only shows the code inside the driver.

7 of 11

Performing Queries

Performing a database query requires the same approach of passing asynchronous callback functions. You can query on any of the data types as well as regular expressions.

8 of 11

Querying Without an Index

When querying a database that is not indexed, MongoDB has no choice but to do a linear search through all the records. This is not efficient and as such took several seconds to perform when searching 100,000 records.

9 of 11

Adding an Index

Adding an index in MongoDB is easy using the command prompt. This is only required once; after that, Mongo will continue to maintain the index. Therefore, there wasn't much reason for us to do it programmatically through the driver.

10 of 11

Querying With an Index

After adding the index, the lookup was shortened dramatically, from four seconds all the way down to about 30 milliseconds.

11 of 11

MongoDB Code uses Callbacks

The code for accessing the MongoDB driver requires passing callbacks into the function calls. These callbacks allow for asynchronous operations to occur.

Top White Papers and Webcasts