www.coba.unr.edu

Download Report

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?