Loading presentation...
Prezi is an interactive zooming presentation

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Intro to Mongo DB

No description

David Salmela

on 18 February 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Intro to Mongo DB

Mongo DB Mongo DB Document Based? Basic Shell Commands Simple (use/install)
Open Source
Horizontally Scalable
Document Based
Full Featured
High Performance
Support for most languages (AGPL License
Contributions Welcome) db.books.find()
db.books.find({author:'Jack London'})

other commands... (array in python or PHP etc..) {
"_id" : 7,
"author" : "Ernest Hemingway",
"title" : "For Whom the Bell Tolls"
"_id" : 9,
"author" : "Jack London",
"title" : "The Call of the Wild"
} Mongo Vs RDBMS In MongoDb
Document == JSON Relational Database Diagram Mongo Representaion Person id
lastname Street
City Address Phone PhoneNumber
PhoneType Case Study Content Management / Document Management Library Requirements Articles
Product Information
Buying Guides
Design Library Each item has several templates
document definition unclear With Relational DB (SQL, Oracle, mySQL or whatever) 1st step: determine specs and design schema ("NoSQL" vs "SQL") Document With
Subdocuments {id:1,
lastname: 'Salmela',
lastname: 'Hultgren',
work: '6512213522',
home: '6512213522',
} Relational CMS Schema Terminology NoSql = Non Relational, less formal SQL = Relational Database

entities that have (often strict) relationships to each other, dependencies, foreign keys etc. SQL = Relational More appropriate name
for NoSQL=NoREL SQL/Relational Formal
Rules NoSQL agile
"quick" (traditionally consistent, Geospatial features, support for multiple languages, flexible schema, Ad Hoc queries, real time aggregation) Try It! Great tutorial at
Mongodb.com Mongo Build iteratively s = {
title:'Choosing a Sofa',
body:'these are things you should consider etc. etc.... ',
summary:'choosing a sofa may be the most important decision you make this year',
image: 'sofa.jpg'
} c = {
title:'Choosing a Chair',
body:'these are things you should consider etc. etc.... ',
summary:'choosing a chair may be the most important decision you make this year',
image: 'chair.jpg',
color: 'brown',
keywords:['sofa','furniture','buying','living room']
} A Week Later CMS In action Mongo Popularity David Salmela
VP Technology
dave@creedinteractive.com -Software Applications
-Content management
-Data Analysis
-Business Intelligence
-Data Migrations http://www.creedinteractive.com/ NoSQL, SQL, etc.. {

"author" : "Ernest Hemingway",
"books": [
{"title" : "For Whom the Bell Tolls", "year":1950},
{"title" : "The Sun Also Rises","year":1920}
"author" : "Jack London",
books: [
{"title" : "The Call of the Wild","year":1903},
{"title" : "White Fang","year":1906}]} SQL Table JOIN = MongoDb Embedded doc super easy to install and get going Mongo
C# api
C#.net / jquery
ckEditor Using adding elements and content 'areas' 'circular' saving and updating <div id="myContent"> @Html.Raw(ViewBag.Article.myContent)
</div> Try doing this with SQL.... Query Article, put in ViewBag
Read with MVC Razor (or Jquery)
ckEditor manages WYSIWIG and events
onblur() triggers API Call, passing Id & text
API Updates Article "element"
If no such Element exists, add it
Query Article, put in ViewBag
Read with MVC Razor (or Jquery)
Repeat Change schema in real time
use immediately
no DBA permission
no schemas to compare and deploy
no Alter script
no rebuilding Entities
no concern over breaking business objects/datalayer etc.. "Circular Logic"
Full transcript