Transcript www.coba.unr.edu
Introduction to MongoDB
{ "name": "Devyani Tanna"} slides.com/chinu/mongodb
Overview
• • • NoSQL Why use NoSQL database?
Categories MongoDB Installation Concept Mapping Database level commands Collection level commands Schema at application level Questions?
NoSQL
No, SQL!
Categories of NoSQL
Document Store MongoDB CouchDB Graph Neo4j Key-Value Store Amazon - DynamoDB LinkedIn - Voldemort Project Riak Tabular Google - BigTable Facebook - Cassandra (now Apache Project)
Why use NoSQL Database?
Missing: No Joins o They are too expensive!
No Complex Transactions No Constraint Support o Not at database level. Added at application level.
Extra: Query Language Fast Performance Horizontal Scalability
Horizontal Scalability
MongoDB (from "hu
mongo
us") is a scalable, high-performance, open source, schema-free, document oriented database. -mongodb.org
Installation
• • Takes less than 5 minutes try.mongodb.org
Concept Mapping
_id (Like Primary Key in RDBMS)
• • • • • Special Key Present in all documents (Rows) Unique across a collection (Table) Any type you want 24 byte hex string, 12 byte binary string, or a number
Document (Like Row in RDBMS)
Note: Fields ("Key": "Value") have Primitive types + arrays, documents
Collection (Like Table in RDBMS)
Index B- Tree
Commands Database Level
• • • • mongod (Starts the server) mongo (Connects to server) show dbs use
Commands Collection Level
1. Show Collections - Lists collections in a current database
Commands Collection Level
2. db.collections.findOne() - Displays first document in a collection 3.
db.collection.find() - Displays all documents in a collection
Commands Collection Level
4. db.collection.someFunction.forEach(printjson) - Prints information in a easy to read format.
Commands Collection Level
5 . db.collection.count() - Number of documents in a collection 6. db.collection.update(object) - Used to update a specific document 7. db.collection.insert(object) - Used to insert a specific document into a collection
Commands Collection Level
8 . db.collection.save(object) - Save a new document in a collection
Commands Collection Level
9. db.collection.find( { }, { field: 0 or 1}) - Specify which fields to display.
Commands Collection Level
10. Example of two queries.
Commands Collection Level - Last One!!!!
11. Example of querying sub-document with dot notation.
Schema at Application Level
Resources
• • • MongoDB Commands o http://docs.mongodb.org/manual/reference/comman d/ MongoDB Tutorials (Part 1 thru 14) Best Videos o https://www.youtube.com/watch?v=UA8q6kS8uaE NoSQL Style (Gangnam Style Parody for Geeks) o https://www.youtube.com/watch?v=qpK0WAuyOl4
Questions?