Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Seedhack 2011 - Introducing MongoDB
Search
Russell Smith
April 20, 2012
Technology
150
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
140
3 Infrastructure + workflow lessons from an early stage startup
ukd1
0
130
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
330
MongoDB - Map Reduce
ukd1
2
260
MongoDB London UG, April 2011 - MongoDB Introduction
ukd1
1
140
MongoDB London 2011 - MongoDB Command Line Tools
ukd1
1
210
Other Decks in Technology
See All in Technology
Bits AI を制するものは Datadog を制す / The player that controls Bits AI, controls Datadog
kaminashi
0
100
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
580
会社紹介資料 / Sansan Company Profile
sansan33
PRO
23
430k
サイバー捜査員研修(後半)
nomizone
1
870
関東Kaggler会発表資料
takoi
1
230
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.5k
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
5.5k
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
5.5k
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
250
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
230
ラジオの科学
frievea
0
320
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Chasing Engaging Ingredients in Design
codingconduct
0
270
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
640
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
390
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
940
Visualization
eitanlees
152
17k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
250
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1.1k
Claude Code のすすめ
schroneko
67
230k
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