Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MongoDB

543 views

Published on

Basic step to learn what is MongoDB

Published in: Technology
  • Be the first to comment

MongoDB

  1. 1. MongoDB Rawin Viruchpintu Creative Technology Leader Spriiing Telecom Co.,Ltd. July 20, 2012
  2. 2. Outline • MongoDB • Installation & start • Using Mongo
  3. 3. • Document-oriented • Dynamic queries • Full dynamic index support • Efficient binary large-object storage • Built for speed • Replication and Auto-failover
  4. 4. Installation & start • Download http://www.mongodb.org/downloads • Unzip into a folder for example /some/path/mongodb • Run $bin/mongod --dbpath=/some/path/mongodb
  5. 5. Installation via Rails • $ gem install mongo Successfully installed mongo-1.6.4 1 gem installed Installing ri documentation for mongo-1.6.4... Installing RDoc documentation for mongo-1.6.4...
  6. 6. Database structure • Separate DBs • Organized into Collections Top-level key -> Document • Collections – Group things into logical classes – Indexable by one or more keys – Schema-free!
  7. 7. Database structure • Document – Always contains key_id – Creating Relationships: subdocument, shared key, or DBRef – Native storage and transfer: BSON • BSON – is a binary encoded serialization of JSON-like documents. http://bsonspec.org/
  8. 8. Using Mongo D:mongodbbin>mongo MongoDB shell version: 2.0.6 connecting to: test > show dbs local (empty) test (empty) > use test switched to db test > db.test.find() > db.test.save({ name:'windy' , skills: 'blackberry, perl, php' }) > db.test.find() { "_id" : ObjectId("5008eb49839a10d95a068a01"), "name" : "windy", "skills" : "bl ackberry, perl, php" }
  9. 9. Using Mongo >use things switched to db things >for ( var i=1; i<10; i++) db.things.save( {x: 'No.'+i, counter: i } ) >db.things.find() { "_id" : ObjectId("5008f81d839a10d95a068a02"), "x" : "No.1", "counter" : 1 } { "_id" : ObjectId("5008f81d839a10d95a068a03"), "x" : "No.2", "counter" : 2 } { "_id" : ObjectId("5008f81d839a10d95a068a04"), "x" : "No.3", "counter" : 3 } { "_id" : ObjectId("5008f81d839a10d95a068a05"), "x" : "No.4", "counter" : 4 } { "_id" : ObjectId("5008f81d839a10d95a068a06"), "x" : "No.5", "counter" : 5 } { "_id" : ObjectId("5008f81d839a10d95a068a07"), "x" : "No.6", "counter" : 6 } { "_id" : ObjectId("5008f81d839a10d95a068a08"), "x" : "No.7", "counter" : 7 } { "_id" : ObjectId("5008f81d839a10d95a068a09"), "x" : "No.8", "counter" : 8 } { "_id" : ObjectId("5008f81d839a10d95a068a0a"), "x" : "No.9", "counter" : 9 }
  10. 10. Using Mongo > db.things.find({x: 'No.4'}) { "_id" : ObjectId("5008f81d839a10d95a068a05"), "x" : "No.4", "counter" : 4 } > db.things.find({x: 'No.33'}) > > db.things.find( { counter : { $gt : 5, $lte : 8} }) { "_id" : ObjectId("5008f81d839a10d95a068a07"), "x" : "No.6", "counter" : 6 } { "_id" : ObjectId("5008f81d839a10d95a068a08"), "x" : "No.7", "counter" : 7 } { "_id" : ObjectId("5008f81d839a10d95a068a09"), "x" : "No.8", "counter" : 8 }
  11. 11. Using Mongo > show dbs local (empty) things 0.078125GB > use foo switched to db foo > db.foo.save( { name: 'windy', age: 18 } ) > db.foo.find() { "_id" : ObjectId("5008fa33839a10d95a068a0b"), "name" : "windy", "age" : 18 } > db.foo.update( {name: 'windy' }, { $set : { age : 21 } } ) > db.foo.find() { "_id" : ObjectId("5008fa33839a10d95a068a0b"), "name" : "windy", "age" : 21 }
  12. 12. Using Mongo > db.foo.findOne( { name: 'windy'} ) { "_id" : ObjectId("5008fa33839a10d95a068a0b"), "name" : "windy", "age" : 21 }
  13. 13. Using Mongo > use teams switched to db teams > db.teams.save({ team: 'A' , member : [ 'Kai'] }) > db.teams.find() { "_id" : ObjectId("5008fc13839a10d95a068a0c"), "team" : "A", "member" : [ "Kai” ] } > db.teams.update({ team: 'A' },{ $push : { member : 'Windy' } }) > db.teams.findOne() { "_id" : ObjectId("5008fc13839a10d95a068a0c"), "member" : [ "Kai", "Windy" ], “team" : "A" }
  14. 14. Using Mongo > use simple switched to db simple > db.members.save( { name:"Windy", skill: ["java", "php"] } ) > db.teams.save({ team: 'A' }) Members Teams Windy Project A
  15. 15. project_a = Using Mongo > windy = db.members.findOne( {name: "Windy"} ) { "_id" : ObjectId("50090510839a10d95a068a0f"), "name" : "Windy", "skill" : [ "java", "php" ] } > project_a = db.teams.findOne( { team : "A" } ) { "_id" : ObjectId("50090533839a10d95a068a10"), "team" : "A" } Project A Windywindy =
  16. 16. Using Mongo > project_a.members = [] [ ] > project_a.members.push (new DBRef ('members', windy._id) ) 1 > db.teams.save(project_a) > project_a { "_id" : ObjectId("50090533839a10d95a068a10"), "team" : "A", "members" : [ { "$ref" : "members", "$id" : ObjectId("50090510839a10d95a068a0f") } ] } Project A windy = DBRef( ) Teams
  17. 17. Using Mongo > project_a.members [ { "$ref" : "members", "$id" : ObjectId("50090510839a10d95a068a0f") } ] > project_a.members[0] { "$ref" : "members", "$id" : ObjectId("50090510839a10d95a068a0f") } > project_a.members[0].fetch() { "_id" : ObjectId("50090510839a10d95a068a0f"), "name" : "Windy", "skill" : [ "java", "php" ] }
  18. 18. THANK YOU

×