WebFund 2013W: MongoDB

From Soma-notes
Jump to navigation Jump to search

In this tutorial you will start playing with MongoDB.

Note: MongoDB has its own JavaScript interpreter. Thus, in a web application using Node and MongoDB you'll have three JavaScript interpreters: the one in the browser, the one in Node, and the one in MongoDB. Same language, but access to different resources/objects in each.

You should try to get through all of this tutorial, up to the "Learning More" part. In particular, your aim should be to learn enough about MongoDB so you can understand how our blog example works well enough so you can add extra functionality.

Interactive Tutorial

First, for a gentle introduction, try this interactive MongoDB tutorial. It is very simple but will get you familiar with the basics.

Get MongoDB running

To get MongoDB running in Ubuntu, just run apt-get install mongodb.

On Windows, follow the instructions here. (Note: you can't get it to run as a service in the lab.)

For every other operating system, refer to the MongoDB Getting Started guides.

Use your installed MongoDB

Do the regular getting started tutorial in your now up-and-running MongoDB installation. Note there is some overlap with the Interactive Tutorial. If you find this boring, skip to the next part.

Node and MongoDB

Recall that we covered a Node app that used MongoDB in the simple blog tutorial.

You have now learned enough background that this tutorial on making a simple blog that we previously covered should make a lot more sense. Note that this tutorial is based on an older version of Node; a slightly revised version of the code (more in keeping with how we've been using express in class) is available here. (Don't forget to run npm install after unpacking!)

This version of the code follows the tutorial up until around where comments are added. Start reading the tutorial from the beginning and follow along in the code in blog-updated. Finish the blog example by adding the necessary code, style sheets, and templates to implement a simple commenting system. (Some of this code is already present.)

If doing that is too easy, add tags to the posts! That will require you to both change the appearance of the application and change what is stored in MongoDB.

Learning more

To learn more about MongoDB, try out other tutorials.

See Chapter 10 of Learning Node for an introduction to Node and MongoDB.

To learn more about how Node and MongoDB interact, see the documentation of the MongoDB driver for Node.

If you want to interact with MongoDB at a higher level in Node, mongoose may be of interest. (This is also covered in the Learning Node book.)