Python e MongoDB  Christiano Anderson    Twitter: @dump    Blog: http://christiano.me    Email: anderson@gonow.com.br    S...
Por que Python?
Por que Python? Afinidade com a linguagem...
Por que Python?  Afinidade com a linguagem...Facilidade em trabalhar com o modelo do MongoDB...
Por que Python?  Afinidade com a linguagem...Facilidade em trabalhar com o modelo do MongoDB... Vários módulos e ORMs pront...
Como trabalhar com MongoDB e Python
Como trabalhar com MongoDB e Python   PyMongo é o módulo para Python e MongoDB;
Como trabalhar com MongoDB e Python   PyMongo é o módulo para Python e MongoDB;            $ easy_install pymongo
Exemplo de uso
Exemplo de uso>>> from pymongo import Connection>>> con = Connection(‘localhost’)>>> db = con[‘blog’]
Inserindo um registro>>> post = {‘title’:‘Meu Primeiro Post’,... ‘author’:‘Christiano Anderson’,... ‘content’: ‘Esse eh um...
Exemplo - Inserindo novo registro             #!/usr/bin/env python             from pymongo import Connection            ...
Exemplo - Consulta              #!/usr/bin/env python              from pymongo import Connection              con = Conne...
Outras consultas    >>> p = db.posts.find_one({‘tags’:‘naboo’})    >>> p = db.users.find({‘age’:{‘$gte’:18}})
Outras consultas    >>> p = db.posts.find_one({‘tags’:‘naboo’})    >>> p = db.users.find({‘age’:{‘$gte’:18}})
Outras consultas    >>> p = db.posts.find_one({‘tags’:‘naboo’})    >>> p = db.users.find({‘age’:{‘$gte’:18}})       É possív...
MongoEngine     - ORM para MongoDB     - Sintaxe bem semelhante ao ORM do Django     - Baixa curva de aprendizado     - Es...
MongoEngine     - ORM para MongoDB     - Sintaxe bem semelhante ao ORM do Django     - Baixa curva de aprendizado     - Es...
MongoEngine     - ORM para MongoDB     - Sintaxe bem semelhante ao ORM do Django     - Baixa curva de aprendizado     - Es...
MongoEngine     - ORM para MongoDB     - Sintaxe bem semelhante ao ORM do Django     - Baixa curva de aprendizado     - Es...
Exemplo MongoEngine   from mongoengine import *   class Usuario(Document):       nome = StringField(required=True)       e...
Exemplo MongoEngine   from mongoengine import *   class Usuario(Document):       nome = StringField(required=True)       e...
Exemplo MongoEngine   from mongoengine import *   class Usuario(Document):       nome = StringField(required=True)       e...
Exemplo MongoEngine   from mongoengine import *   class Usuario(Document):       nome = StringField(required=True)       e...
Consulta MongoEngine               for u in User.objects:                   print u.nome, u.email
MongoDB e Django          É possível, mas ainda não tem uma                   solução “oficial”
MongoDB e Django    Pontos mais críticos na integração com Django:    - Autenticação;    - Sessões;    - Admin;    - Outra...
Django-MongoDB                Pacote depende do           django-nonrel e djangotoolbox                 Mais informações: ...
Django-MongoDB - Como instalar                      Django-nonrel       hg clone http://bitbucket.org/wkornewald/django-no...
settings.py DATABASES = {    default : {       ENGINE : django_mongodb_engine,       NAME : my_database    } }            ...
Django-MongoDB - recursos interessantes        É possível utilizar GridFS, MapReduce,            cache, agregadores e dema...
Obrigado! :-)                Christiano Anderson                anderson@gonow.com.br                Twitter: @dump       ...
Upcoming SlideShare
Loading in …5
×

Python MongoDB no MongoSP

5,923 views
5,848 views

Published on

Palestra apresentada no MongoSP, evento organizado pela Gonow em conjunto com 10Gen

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,923
On SlideShare
0
From Embeds
0
Number of Embeds
3,755
Actions
Shares
0
Downloads
61
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Python MongoDB no MongoSP

    1. 1. Python e MongoDB Christiano Anderson Twitter: @dump Blog: http://christiano.me Email: anderson@gonow.com.br Site: http://www.gonow.com.br
    2. 2. Por que Python?
    3. 3. Por que Python? Afinidade com a linguagem...
    4. 4. Por que Python? Afinidade com a linguagem...Facilidade em trabalhar com o modelo do MongoDB...
    5. 5. Por que Python? Afinidade com a linguagem...Facilidade em trabalhar com o modelo do MongoDB... Vários módulos e ORMs prontos...
    6. 6. Como trabalhar com MongoDB e Python
    7. 7. Como trabalhar com MongoDB e Python PyMongo é o módulo para Python e MongoDB;
    8. 8. Como trabalhar com MongoDB e Python PyMongo é o módulo para Python e MongoDB; $ easy_install pymongo
    9. 9. Exemplo de uso
    10. 10. Exemplo de uso>>> from pymongo import Connection>>> con = Connection(‘localhost’)>>> db = con[‘blog’]
    11. 11. Inserindo um registro>>> post = {‘title’:‘Meu Primeiro Post’,... ‘author’:‘Christiano Anderson’,... ‘content’: ‘Esse eh um exemplo de conteudo’,... ‘tags’: [‘mongodb’,‘paraiba’,‘evento’,‘ensol’]}>>> post = db[‘posts’]>>> post.insert(post)ObjectId(‘4cb662f508bf532b1b000000’)
    12. 12. Exemplo - Inserindo novo registro #!/usr/bin/env python from pymongo import Connection import datetime con = Connection(localhost, 27017) db = con[teste01] user = {"nome":"Fulano", "sobrenome":"de Tal", "email":"fulano@detal.net", "data_inclusao": datetime.datetime.now()} # Insere users = db.users users.insert(user)
    13. 13. Exemplo - Consulta #!/usr/bin/env python from pymongo import Connection con = Connection(localhost, 27017) db = con[teste01] # Pesquisa um só users = db.users a = users.find_one({"email":"fulano@detal.net"}) print a # Pesquisa varios for u in users.find(): print u[nome], u[email]
    14. 14. Outras consultas >>> p = db.posts.find_one({‘tags’:‘naboo’}) >>> p = db.users.find({‘age’:{‘$gte’:18}})
    15. 15. Outras consultas >>> p = db.posts.find_one({‘tags’:‘naboo’}) >>> p = db.users.find({‘age’:{‘$gte’:18}})
    16. 16. Outras consultas >>> p = db.posts.find_one({‘tags’:‘naboo’}) >>> p = db.users.find({‘age’:{‘$gte’:18}}) É possível usar operadores como $lt, $lte, $gt, $gte e outros
    17. 17. MongoEngine - ORM para MongoDB - Sintaxe bem semelhante ao ORM do Django - Baixa curva de aprendizado - Estável
    18. 18. MongoEngine - ORM para MongoDB - Sintaxe bem semelhante ao ORM do Django - Baixa curva de aprendizado - Estável $ easy_install mongoengine
    19. 19. MongoEngine - ORM para MongoDB - Sintaxe bem semelhante ao ORM do Django - Baixa curva de aprendizado - Estável $ easy_install mongoengine
    20. 20. MongoEngine - ORM para MongoDB - Sintaxe bem semelhante ao ORM do Django - Baixa curva de aprendizado - Estável $ easy_install mongoengine http://www.mongoengine.org
    21. 21. Exemplo MongoEngine from mongoengine import * class Usuario(Document): nome = StringField(required=True) email = StringField()
    22. 22. Exemplo MongoEngine from mongoengine import * class Usuario(Document): nome = StringField(required=True) email = StringField() u = Usuario() u.nome = “Christiano” u.email = “anderson@gonow.com.br” u.save()
    23. 23. Exemplo MongoEngine from mongoengine import * class Usuario(Document): nome = StringField(required=True) email = StringField() u = Usuario() u.nome = “Christiano” u.email = “anderson@gonow.com.br” u.save()
    24. 24. Exemplo MongoEngine from mongoengine import * class Usuario(Document): nome = StringField(required=True) email = StringField() u = Usuario() u.nome = “Christiano” u.email = “anderson@gonow.com.br” u.save() Salvou no banco
    25. 25. Consulta MongoEngine for u in User.objects: print u.nome, u.email
    26. 26. MongoDB e Django É possível, mas ainda não tem uma solução “oficial”
    27. 27. MongoDB e Django Pontos mais críticos na integração com Django: - Autenticação; - Sessões; - Admin; - Outras questões amarradas ao ORM...
    28. 28. Django-MongoDB Pacote depende do django-nonrel e djangotoolbox Mais informações: http://django-mongodb.org/
    29. 29. Django-MongoDB - Como instalar Django-nonrel hg clone http://bitbucket.org/wkornewald/django-nonrel cd django-nonrel && python setup.py install Djangotoolbox hg clone http://bitbucket.org/wkornewald/djangotoolbox cd djangotoolbox && python setup.py install Django-mongodb-engine git clone https://github.com/django-mongodb-engine/mongodb-engine cd mongodb-engine && python setup.py install
    30. 30. settings.py DATABASES = { default : { ENGINE : django_mongodb_engine, NAME : my_database } } Agora é só desenvolver sua app no Django :-)
    31. 31. Django-MongoDB - recursos interessantes É possível utilizar GridFS, MapReduce, cache, agregadores e demais funcionalidadesdo MongoDB Mais informações: http://django-mongodb.org/topics/index.html
    32. 32. Obrigado! :-) Christiano Anderson anderson@gonow.com.br Twitter: @dump Blog: http://christiano.me

    ×