Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Seedhack 2011 - Introducing MongoDB
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Russell Smith
April 20, 2012
Technology
160
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Seedhack 2011 - Introducing MongoDB
Russell Smith
April 20, 2012
More Decks by Russell Smith
See All by Russell Smith
Ops Skills and Tools for Beginners [MongoDB World 2014]
ukd1
0
150
3 Infrastructure + workflow lessons from an early stage startup
ukd1
0
140
Bitcoin Ops & Security Primer
ukd1
1
190
Gearman & Kohana
ukd1
2
1k
Geo & capped collections with MongoDB
ukd1
1
170
Cassandra London UG July 2011 - Riak vs Cassandra
ukd1
1
340
MongoDB - Map Reduce
ukd1
2
270
MongoDB London UG, April 2011 - MongoDB Introduction
ukd1
1
140
MongoDB London 2011 - MongoDB Command Line Tools
ukd1
1
220
Other Decks in Technology
See All in Technology
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
180
Running Kotlin + Quarkus with Lambda
nealle
0
250
自作バイナリを動かす「入口」8選
puhitaku
2
1.2k
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
130
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
120
Kiro Crewをはじめよう
kizawa2020
1
120
Loop Engineering これくらいでいい
mikanichinose
0
200
継続的なAIコスト最適化
bgpat
1
280
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
230
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
170
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
330
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
330
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
142
7.7k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
570
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Music & Morning Musume
bryan
48
7.4k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
260
Accessibility Awareness
sabderemane
1
240
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Transcript
An introduction to MongoDB Russell Smith Friday, 20 April 12
/usr/bin/whoami • Russell Smith • Consultant for UKD1 Limited, •
External consultant for 10gen • Help with code, architecture, infrastructure, devops, sysops, capacity planning, etc • <3 MongoDB, MySQL, Redis, Gearman, Neo4j, Kohana, Riak, PHP, Debian, AWS, etc Friday, 20 April 12
What is MongoDB • A scalable, high-performance, open source, document-oriented
database. • Stores JSON like documents • Commercially backed by 10gen Friday, 20 April 12
Why choose it? • Schema-less • Simple • Reliable •
Scalable • Drivers Friday, 20 April 12
Who uses it? • Foursquare • Disney • Craigslist •
MTV Networks • O2 • Telefonica Friday, 20 April 12
Basics • insert • find • update • remove •
ensureIndex Friday, 20 April 12
Insert • db.test.insert({hello: ‘world’}); Friday, 20 April 12
Find • db.test.find() • Equivalent of SELECT * FROM test;
> db.test.insert({hello: ‘world’}); > db.test.find(); { "_id" : ObjectId("4e7c9f464bdd7534bc498ff7"), "hello" : "world" } Friday, 20 April 12
Updating • db.test.update(<condition>, <operation>) > db.test.find(); { "_id" : ObjectId("4e7c9f464bdd7534bc498ff7"),
"hello" : "world" } > db.test.update({hello:‘world’}, {hello: ‘seedhack’}); > db.test.find(); { "_id" : ObjectId("4e7c9f464bdd7534bc498ff7"), "hello" : "seedhack" } Friday, 20 April 12
Removing • db.test.remove(<condition>) > db.test.find(); { "_id" : ObjectId("4e7c9f464bdd7534bc498ff7"), "hello"
: "seedhack" } > db.test.remove({hello: ‘seedhack’}); > db.test.count() 0 > Friday, 20 April 12
Indexes • It’s usually a good idea to index your
collections • How and which columns depends on what you are doing • explain > db.test.ensureIndex({hello:1}) Friday, 20 April 12
More advanced • sort, count, limit, special operators • Capped
collections • Geospatial indexing • MapReduce • Replica sets • Sharding Friday, 20 April 12
Getting started... • Download & install - http://www.mongodb.org/downloads • Online
shell - http://www.mongodb.org/ Friday, 20 April 12
Questions / Further • Come and ask me questions •
Updates can also push, set, increment, decrement, etc http://bit.ly/gEfKOr • Indexes can be across multiple keys, 2D (geo) and ASC / DESC http://bit.ly/hpK68Q • SQL -> Mongo chart http://bit.ly/ig1Yfj Friday, 20 April 12