NoSQL Zone is brought to you in partnership with:

Ajitesh is passionate about various different technologies including programming languages such as Java/JEE, Javascript, PHP, .NET, C/C++, SCALA, mobile programming languages etc and, computing fundamentals such as application security, cloud computing, API, mobile apps, google glass, big data etc. Currently, he is exploring different Javascript frameworks including AngularJS and the likes. He is also focusing on Big Data, especially, data science aspect of Big Data. He is working as a Principal Architect with Evoke technologies based out of Hyderabad, India. Ajitesh is a DZone MVB and is not an employee of DZone and has posted 41 posts at DZone. You can read more from them at their website. View Full User Profile

MongoDB Commands & Concepts: Rookie's Quick Reference

08.08.2014
| 4847 views |
  • submit to reddit

This article presents some of the basic concepts and commands which could prove useful for rookies starting with MongoDB.

Key Concepts

Simply speaking, MongoDB is a very popular NoSQL database with document-oriented storage. If you are a SQL developer and having challenges understanding document-oriented database, check out this page on mapping between SQL to MongoDB mapping. For a detailed introduction on MondoDB, check out this introduction page.

Following are some of the key terminologies:

  • Database
  • Collections
  • Document
  • Field
  • Primary key (_id)
  • index

JSON-styled Documents: The most important concept is document-oriented storage, and the documents are JSON-styled. Thus, one would require to learn JSON very well to do well with MongoDB as JSON-styled document is at the heart of it.

As like MySQL server and client, MongoDB also has a server and client. Following are the commands:

mongod: Start the server
mongo: Start the client

Document:

Following is a sample document in the collection, “users”:

{
    _id: ObjectId("509a8fb2f3f4658bd2f783a0"),
    firstname: "Chris",
    lastname: "Johnson",
    age: 25,
    email: "chris.johnson@gmail.com"
}

Collection:

Simply speaking, Collection is a set of documents.

Key Commands

Before I list down some, I must say that you may see a detailed query samples  in comparison with traditional SQL statements on this page.

  • show dbs: Shows all the databases
  • use <dbname>: Use the database; Create the database if not present in the database list
  • show collections: Shows all the collections in any database

CRUD: Create A Collection Explicity

db.createCollection( "&lt;collectionname&gt;" )

CRUD: Create A Document

db..insert( ): Create the collection if does not exist and insert the document OR, Insert the document in the existing collection having name as . Following is the sample command:

//Insert a new document in the collection users
db.users.insert(
    {
        firstname: "Bill",
        lastname: "Sherwood",
        age: 32,
        email: "bill1994@hotmail.com"
    }
)
// Insert multiple documents or array of documents
db.users.insert(
    [
    { firstname: "Bill", lastname: "Sherwood", age: 32,email: "bill1994@hotmail.com"},
    { firstname: "Chris", lastname: "Johnson", age: 28,email: "chris123@gmail.com"},
    ]
)

CRUD: Select Documents

//Shows all the documents within a collection. 
db.&lt;collectionname&gt;.find()

CRUD: Update Documents

//Updates multiple documents set firstname = "William" whose age = 35
db.users.update(
  { age: 35 },
  { $set: { firstname: "William" } ,
  { multi: true }
)

CRUD: Delete Document

// Removes the document with age=35
db.users.remove(
    { age: 35 }
)
// Removes all the document
db.users.remove( {} )

As mentioned earlier, if you want to quickly learn these commands with equivalent MySQL commands in the sight, do bookmark the following link: http://docs.mongodb.org/manual/reference/sql-comparison/


Published at DZone with permission of Ajitesh Kumar, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)