• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
MongoDB (Jteam)
 

MongoDB (Jteam)

on

  • 963 views

 

Statistics

Views

Total Views
963
Views on SlideShare
950
Embed Views
13

Actions

Likes
0
Downloads
6
Comments
0

1 Embed 13

http://www.slideshare.net 13

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    MongoDB (Jteam) MongoDB (Jteam) Presentation Transcript

    • Łukasz Pełszyński 1
    • NOSQL  NO to SQL? 2
    • NOSQL  NO to SQL? 3
    • NOSQL 4
    • NOSQL  Not Only SQL → Odpowiednie narzędzie do danego zadania 5
    • NOSQL  Not Only SQL → Odpowiednie narzędzie do danego zadania → Nie tylko SQL :) 6
    • NOSQL  Dlaczego właśnie teraz? → Ogromne ilości danych → Duże wzajemne zależności między danymi → Zmienna natura danych → Dostosowanie do nowej architektury aplikacji 7
    • :) 8
    • MongoDB  Stworzona z myślą o wydajności  Wysoce skalowalna  “Document oriented”  Bogaty język zapytań 9
    • MongoDB  Upraszcza tworzenie oprogramowania  Ale nie ma transakcji :) 10
    • MongoDB  MongoDB is designed to be human-oriented.  It reduces the burden of programming.  It tries to push jobs back to machines.  You can accomplish more tasks with less work, in smaller yet readable code. 11
    • Czas na praktykę  Stworzenie bazy: → use jteam; 12
    • Czas na praktykę  Stworzenie bazy: → use jteam;  Tworzymy dokument: → _doc = { name: 'Lukasz', position: 'boss', age: 24 }; 13
    • Czas na praktykę  Stworzenie bazy: → use jteam;  Tworzymy dokument: → _doc = { name: 'Lukasz', position: 'boss', age: 24 };  Wstawiamy do nowej kolekcji: → db.users.save(_doc); 14
    • Czas na praktykę  Stworzenie bazy: → use jteam;  Tworzymy dokument: → _doc = { name: 'Lukasz', position: 'boss', age: 24 };  Wstawiamy do nowej kolekcji: → db.users.save(_doc);  Znajdujemy wstawiony rekord: → db.users.find(); 15
    • Więcej rekordów names = [ 'Ala', 'Ola', 'Ela', 'Zenek', 'Zdzisław', 'U1', 'U2', 'U3', 'U4', 'U6' ]; for (index in names) { db.users.save({ name: names[index], age: 20 + parseInt(index), gender: 'unknown' }); }; 16
    • Zapytania  Zapytania są dynamiczne: → var cursor = db.users.find(); → cursor.hasNext(); → cursor.next(); → db.users.find().forEach( function(x) { print(tojson(x)); } ); 17
    • Zapytania c.d.  Proste wyszukiwanie: → db.users.find({age: 24}); → db.users.find({age: 24}).limit(1); → db.users.find({age: 24}).sort({age: -1, name: -1}); → db.users.findOne({name:'Zenek'}); 18
    • Zapytania c.d.  Proste wyszukiwanie: → db.users.find({age: 24}); → db.users.find({age: 24}).limit(1); → db.users.find({age: 24}).sort({age: -1, name: -1}); → db.users.findOne({name:'Zenek'});  Operator $in: → db.users.find({name: {'$in': ['Lukasz', 'Ala']} }); 19
    • Zapytania c.d.  Proste wyszukiwanie: → db.users.find({age: 24}); → db.users.find({age: 24}).limit(1); → db.users.find({age: 24}).sort({age: -1, name: -1}); → db.users.findOne({name:'Zenek'});  Operator $in: → db.users.find({name: {'$in': ['Lukasz', 'Ala']} });  Where (używać jak najrzadziej) → db.users.find( { $where: "this.age > 3" }; 20
    • Zapytania c.d.  > → db.users.find({ 'age' : { $gt: 24 } } );  <= → db.users.find({ 'age' : { $lte: 24 } } ); 21
    • Zaawansowane zapytania  _rec = { name: 'Lukasz', grad_years: [2005, 2010], conferences: { 2010: 'geecon', 2009: 'rupy', unknown: 'wtf' } };  db.users.save(_rec); 22
    • Zaawansowane zapytania c.d.  Hmm... → db.users.find({'conferences.2010' : 'geecon' }) ; 23
    • Zaawansowane zapytania c.d.  ?! → db.users.find({'conferences.2010' : 'geecon' }) ; → db.users.find({'grad_years.0': 2005 }) ; 24
    • Zaawansowane zapytania c.d.  WTF?! → db.users.find({'conferences.2010' : 'geecon' }) ; → db.users.find({'grad_years.0': 2005 }) ; → db.users.find({"conferences.2010 ": "geecon", grad_years: 2005 }) ; 25
    • MongoDB + Java  Doskonałe wsparcie dla wszystkich popularnych języków → http://www.mongodb.o rg/display/DOCS/Driv ers 26
    • W akcji 27
    • Pytania? 28