Share
Embed
Transcript
13 slides
-
/usr/bin/whoami • Russell Smith • Consultant for UKD1 Limited •
Specialising in helping companies going through rapid growth • Help with code, architecture, infrastructure, devops, sysops, capacity planning, etc • <3 gearman, mongodb, neo4j, mysql, kohana, riaksearch, php, debian Friday, 20 April 12 -
What is MongoDB • A scalable, high-performance, open source, document-oriented
database. • Stores JSON like documents • Indexible on any attributes (like MySQL) Friday, 20 April 12 -
Getting started... • Try out the interactive shell at www.mongodb.org
(then click try!) • Download and install - http://www.mongodb.org/downloads Friday, 20 April 12 -
Basics • Common things you do in MySQL or another
RDBMS; • Insert • Select (aka find) • Update • Delete (aka remove) • Index Friday, 20 April 12 -
Create • Creating ‘tables’, or in MongoDB terms collections, is
not usually necessary • Ditto for databases Friday, 20 April 12 -
Insert • db.test.insert({hello: ‘world’}); • This insert the document {hello:
‘world’} into the test collection Friday, 20 April 12 -
Let’s check it • In MongoDB we find documents rather
than SELECTing them... • db.test.find() • this is the equivalent of SELECT * FROM test; • it will return the document we previously inserted Friday, 20 April 12 -
Updates • Let’s update the document to say from Russell
• db.test.update(<documents which match>, <set to x>) • db.test.update({hello: ‘world’}, {hello: ‘from Russell’}) Friday, 20 April 12 -
Delete? • db.test.remove(<where documents match>) • Lets remove the last
document • db.test.remove({hello: ‘from Russell’}) Friday, 20 April 12 -
Drop • If you no longer want an entire collection,
you can drop it which removes all the data and indexes; • db.test.drop() Friday, 20 April 12 -
Indexes • For performance it’s usually a good idea to
index your collections. • How and which columns depends on what queries you are doing - you can get help with this by using ‘explain’ much like in MySQL. • db.test.ensureIndex({hello:1}) Friday, 20 April 12 -
Further reading • I’ve only brushed on the details, but
this should be enough to get you interested / started with MongoDB. Some of the missing stuff; • 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