• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
PyMongo = Python + MongoDB
 

PyMongo = Python + MongoDB

on

  • 3,483 views

Introdução ao banco de dados não-relacional Orientado a Documentos MongoDB e apresentação do PyMongo, um driver/conector de Python para MondoDB. Realizada no VI Encontro do Python User Group de ...

Introdução ao banco de dados não-relacional Orientado a Documentos MongoDB e apresentação do PyMongo, um driver/conector de Python para MondoDB. Realizada no VI Encontro do Python User Group de Pernambuco, no dia 14/08/2010.

Statistics

Views

Total Views
3,483
Views on SlideShare
2,278
Embed Views
1,205

Actions

Likes
3
Downloads
29
Comments
1

7 Embeds 1,205

http://brunno.net 874
http://blog.professionalit.com.br 238
http://pugpe.wordpress.com 63
http://coderwall.com 19
http://brunno.espacopesqu.dominiotemporario.com 8
http://www.blogger.com 2
http://webcache.googleusercontent.com 1
More...

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

11 of 1 previous next

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

    PyMongo = Python + MongoDB PyMongo = Python + MongoDB Presentation Transcript

    • http://groups.google.com/group/pug-pe
    • Brunno Gomes twitter.com/brunnogomes brunnolgp@gmail.com
    • +
    • ?
    • De acordo com o mongoDB.org: “Banco de dados escalável, de alta- performance, open-source, schema- free, orientado-a-documentos.”
    • documentos
    • {nome: 'mongo', tipo: 'BD'}
    • JSON ?
    • dicionários !
    • schema-free ?
    • ● tipagem dinâmica ● migrations de graça ● ainda posso usar índices
    • migrations ?
    • apenas faça: {nome: 'mongo', tipo: 'BD'} {nome: 'mongo', tipo: 'BD', versao: 1.6}
    • muito + coisas legais
    • ● Agregation + MapReduce ● Capped Collections ● GridFS ● Replica Sets ● Auto-Sharding
    • pode fazer falta: ● Joins
    • PyMongo
    • driver do mongoDB para Python
    • instalando (com setuptools): “easy_install pymongo”
    • usando: >>> import pymongo >>> from pymongo import Connection >>> connection = Connection()
    • escolhendo uma base: O mongoDB suporta várias bases independentes por instância. Para acessar você pode usar dois estilos.
    • escolhendo uma base: >>> db = connection.pugpe ou >>> db = connection['pugpe']
    • escolhendo uma coleção: >>> membros = db.membros ou >>> membros = db['membros']
    • criando documentos: >>> b = {'nome': 'Brunno', 'Idade': 24, 'linguagem': 'Python'}
    • salvando na coleção: >>> membros.insert(b)
    • o campo _id: todo documento inserido no banco deve conter um campo _id com valor único em toda coleção, caso ele não exista é automaticamente adicionado (nesse caso usando o tipo binário ObjectId, que servirá como índice padrão).
    • resgatando um documento: >>> membros.find_one()
    • o find_one() já retorna um dicionário, não necessitando haver nenhum tipo de conversão para trabalharmos.
    • o find_one() também suporta parâmetros para consultar elementos específicos: >>> membros.find_one( {'nome': 'Brunno'})
    • inserções em lote: para facilitar nossa vida, podemos passar uma lista como argumento do insert(), ele vai inserir cada elemento da lista, enviando somente um comando para o servidor.
    • >>> mais = [{'nome': 'Rodrigo', 'idade': 24, 'linguagem': 'Python'}, {'nome': 'Luciano', 'idade': 32, 'linguagem': ['Python', 'Perl']} >>> membros.insert(mais)
    • para pegar mais de um documento usamos o find(), que agora nos retorna um Cursor iterável: >>> membros.find({'idade': 24})
    • lembram do schema-free? >>> membros.find({ 'linguagem': 'Python'})
    • mais informações? http://www.mongodb.org http://api.mongodb.org/python
    • outros projetos: MongoKit Ming MonoEngine Django non-rel
    • Brunno Gomes twitter.com/brunnogomes brunnolgp@gmail.com