Your SlideShare is downloading. ×
  • Like
Building Your First MongoDB App
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Building Your First MongoDB App

  • 403 views
Published

Simple introduction to MongoDB via the example of building a blog application.

Simple introduction to MongoDB via the example of building a blog application.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
403
On SlideShare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
11
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Job Title, MongoDB Speaker Name #ConferenceHashTag Building your first app; an introduction to MongoDB
  • 2. What is MongoDB?
  • 3. MongoDB is a ___________ database • Document • Open source • High performance • Horizontally scalable • Full featured
  • 4. Document Database • Not for .PDF & .DOC files • A document is essentially an associative array – JSON object – PHPArray – Python Dict – RubyHash – etc
  • 5. var user = { username: ’erlichson', first_name: ’Andrew', last_name: ’Erlichson', } Start with an object (or array, hash, dict, etc)
  • 6. Database Landscape
  • 7. Full Featured • Ad Hoc queries • Real time aggregation • Rich query capabilities • Strongly consistent • Geospatial features • Support for most programming languages • Flexible schema
  • 8. mongodb.org/downloads
  • 9. $ tar –z xvf mongodb-osx-x86_64-2.4.x.tgz $ cd mongodb-osx-i386-2.4.4/bin $ mkdir –p /data/db $ ./mongod Running MongoDB
  • 10. MacBook-Air-:~ $ mongo MongoDB shell version: 2.4.4 connecting to: test > db.test.insert({text: 'Welcome to MongoDB'}) > db.test.find().pretty() { "_id" : ObjectId("51c34130fbd5d7261b4cdb55"), "text" : "Welcome to MongoDB" } Mongo Shell
  • 11. Document Database
  • 12. Terminology RDBMS MongoDB Table, View ➜ Collection Row ➜ Document Index ➜ Index Join ➜ Embedded Document Foreign Key ➜ Reference Partition ➜ Shard
  • 13. Let’s Build a Blog
  • 14. First step in any application is Determine your entities
  • 15. Entities in our Blogging System • Users (post authors) • Article • Comments • Categories, Tags
  • 16. In a relational base app We would start by doing schema design
  • 17. Typical (relational) ERD
  • 18. In a MongoDB based app We start building our app and let the schema evolve
  • 19. MongoDB ERD
  • 20. Working With MongoDB
  • 21. var user = { username: ’erlichson', first_name: ’Andrew', last_name: ’Erlichson', } Start with an object (or array, hash, dict, etc)
  • 22. >db test > use blog switching to db blog > db.users.insert( user ) Store in DB "blog", collection "users"
  • 23. >db test > use blog switching to db blog > db.users.insert( user ) Store in DB "blog", collection "users" No collection creation necessary
  • 24. > db.users.find() { "_id" : ObjectId("50804d0bd94ccab2da652599"), "username" : ”erlichson", "first_name" : ”Andrew", "last_name" : ”Erlichson" } > db.users.find( { "_id" : ObjectId(..) } ) > db.users.find( { "username" : "erlichson" } ) Find a Record
  • 25. > db.article.insert({ title: ‘Hello World’, body: ‘This is my first blog post’, date: new Date(‘2013-06-20’), username: ‘erlichson’, tags: [‘adventure’, ‘mongodb’], comments: [ ] }) Creating a Blog Post
  • 26. > db.article.find().pretty() { "_id" : ObjectId("51c3bafafbd5d7261b4cdb5a"), "title" : "Hello World", "body" : "This is my first blog post", "date" : ISODate("2013-06-20T00:00:00Z"), "username" : "erlichson", "tags" : [ "adventure", "mongodb" ], "comments" : [ ] } Finding the Post
  • 27. > db.article.find({tags:'adventure'}).pretty() { "_id" : ObjectId("51c3bcddfbd5d7261b4cdb5b"), "title" : "Hello World", "body" : "This is my first blog post", "date" : ISODate("2013-06-20T00:00:00Z"), "username" : "erlichson", "tags" : [ "adventure", "mongodb" ], "comments" : [ ] } Querying An Array
  • 28. > db.article.update({_id: new ObjectId("51c3bcddfbd5d7261b4cdb5b")}, {$push:{comments: {name: 'Steve Blank', comment: 'Awesome Post'}}}) > Using Update to Add a Comment
  • 29. > db.article.findOne({_id: new ObjectId("51c3bcddfbd5d7261b4cdb5b")}) { "_id" : ObjectId("51c3bcddfbd5d7261b4cdb5b"), "body" : "This is my first blog post", "comments" : [ { "name" : "Steve Blank", "comment" : "Awesome Post" } ], "date" : ISODate("2013-06-20T00:00:00Z"), "tags" : [ "adventure", "mongodb" ], "title" : "Hello World", "username" : "erlichson" } Post with Comment Attached
  • 30. MongoDB Drivers
  • 31. docs.mongodb.org
  • 32. Online Training at MongoDB University
  • 33. Questions?
  • 34. #ConferenceHashtag Thank You