MongoDB Quick Start

A Tiny MongoDB Browser Shell is available at the MongoDB wesite and the following is extracted from the tutorial at

http://www.mongodb.org/

1. JavaScript Shell

The first thing to notice is that the MongoDB shell is JavaScript-based.
So you can do things like:

  
  a = 5; 
  a * 10; 
  for(i=0; i<10; i++) { print('hello'); }; 

2. Documents

MongoDB is a document database. This means that we store data as documents,
which are similar to JavaScript objects. Here below are a few sample JS objects:

  var a = {age: 25};
  var n = {name: 'Ed', languages: ['c', 'ruby', 'js']};
  var student = {name: 'Jim', scores: [75, 99, 87.2]};

3. Saving

Here’s how you save a document to MongoDB:

  db.scores.save({a: 99});

This says, “save the document ‘{a: 99}’ to the ‘scores’ collection.”

Then, to see if the document was saved, try

  
  db.scores.find(); 

4. Saving and Querying

Try adding some documents to the scores collection:

  
  for(i=0; i<10; i++) 
  { 
    db.scores.save({a: i, exam: 5}) 
  }; 

Then enter

  
  db.scores.find(); 

to see if the save succeeded. Since the shell only displays 10 results at time,
you’ll need to enter the ‘it’ command to iterate over the rest.

5. Basic Queries

You’ve already tried a few queries, but let’s make them more specific.
How about finding all documents where a == 2:

  
  db.scores.find({a: 2}); 

Or what about documents where a > 15?

  
  db.scores.find({a: {'$gt': 15}}); 

6. Query Operators

$gt is one of many special query operators. Here are few others:

  
  $lt  - '<',   $lte - '<=', 
  $gte - '>=',  $ne  - '!='
  $in - 'is in array',  $nin - '! in array'

  db.scores.find({a: {'$in': [2, 3, 4]}}); 
  db.scores.find({a: {'$gte': 2, '$lte': 4}}); 

7. Updates

Now create a couple documents like these for updating:

  
  db.users.save({name: 'Johnny', languages: ['ruby', 'c']}); 
  db.users.save({name: 'Sue', languages: ['scala', 'lisp']}); 

Make sure they were saved by called db.users.find()

Update the first document like so:

  
  db.users.update({name: 'Johnny'}, {name: 'Cash', languages: ['english']}); 

8. Update Operators

The previous update replaced the entire document, but MongoDB also
supports partial updates to documents. For example, you can set a value:

  
  db.users.update({name: 'Cash'}, {'$set': {'age': 50} }); 

You can also push and pull items from arrays:

  
  db.users.update({name: 'Sue'}, {'$pull': {'languages': 'scala'} }); 
  db.users.update({name: 'Sue'}, {'$push': {'languages': 'ruby'} }); 

9. Deleting data

To delete matching documents only, add a query selector to the remove method:

  
  db.users.remove({name: 'Sue'});

To delete everything from a collection:

  
  db.scores.remove();