SlideShare uma empresa Scribd logo
1 de 16
Banco de Dados orientado a documento
THIAGO AVELINO

•   Trabalha com Software Livre desde 2005

•   Desenvolvedor Python desde 2006

•   Committer de alguns projetos OpenSource

    •   CentOS (Kernel)

    •   MongoDB

    •   Algumas biblioteca Python (MongoEngine)
PORQUE ESSE NOME?
Veio da palavra humongous (Gigantesco)
O QUE É MONGODB?


•   Open Source

•   Alta Performance

•   Schema (Esquema) Aberto

•   Orientado a Documento

•   Suporte Geo nativo

•   Banco de Dados
O QUE É MONGODB?
“O MongoDB trabalha com key-value (que são rápidos e altamente escalável) e sistema
RDBMS (Relational database management system) tradicional (que oferecem consultas rica e profunda
funcionalidade)”
QUEM ESTA USANDO MONGODB
SCHEMA ABERTO



•   Pós

    •   Tipagem dinâmica

    •   Migrações

    •   Flexibilidade

    •   Cache
DOCUMENTO
O Documento do MongoDB é basicamente um json.

exemplo:

  {
      ‘nome’: ‘Thiago’,
      ‘sobrenome’: ‘Avelino’,
      ‘linguagem’: ‘Python’,
      ‘database’: ‘mongodb’
  }
MIGRAÇÃO

Você pode atualizar seus dados dinamicamente

  {
      ‘nome’: ‘Thiago’,
      ‘sobrenome’: ‘Avelino’,
      ‘linguagem’: ‘Python’,
      ‘database’: ‘mongodb’
  }




  {
      ‘nome’: ‘Thiago’,
      ‘sobrenome’: ‘Avelino’,
      ‘linguagem’: [‘Python’,’c’,’c++’],
      ‘database’: ‘mongodb’,
      ‘empresa’: ‘gonow’
  }
AGREGADOR

Distintos


  db.gonow.insert({‘linguagem’: ‘python’})
  db.gonow.insert({‘linguagem’: ‘c’})
  db.gonow.insert({‘linguagem’: ‘c++’})

  db.gonow.distinct(‘linguagem’)
SQL PARA MONGO
                                                   A criação de documento no MongoDB é dinamica, basta
CREATE TABLE gonow (a Number, b Number);
                                                   fazer o primeiro insert()

INSERT INTO gonow (1,1);                           db.gonow.insert({a: 1, b: 1})

SELECT * FROM gonow;                               db.gonow.find({})

SELECT * FROM gonow WHERE sobrenome = ‘Avelino’;   db.gonow.find({‘sobrenome’: ‘Avelino’})

SELECT * FROM gonow ORDER BY sobrenome;            db.gonow.find({}).sort({sobrenome:1})

SELECT * FROM gonow WHERE a < 1;                   db.gonow.find({a: {$gt:1}})

SELECT * FROM gonow WHERE a > 1;                   db.gonow.find({a: {$lt:1}})

SELECT * FROM gonow LIMIT 1;                       db.gonow.find({}).limit(1)
OPERADORES

 <                        $lt

 <=                       $lte

 >                        $gt

 >=                       $gte




http://www.mongodb.org/display/DOCS/Advanced+Queries
MONGODB COM PYTHON

Exemplo


  >>> from pymongo import Connection
  >>> con = Connection(‘localhost’)
  >>> db = con[‘gonow’]
  >>>
  >>> gonow = {‘nome’: ‘Thiago’,‘sobrenome’: ‘Avelino’, ‘linguagem’: [‘Python’,’c’,’c++’]}
  >>> db.gonow.insert(gonow)
  ObjectId(‘4d2e48e7cc9374271b02247a’)

  >>> db.gonow.find_one({})
  {u‘_id’: ObjectId(‘4d2e48e7cc9374271b02247a’),u‘nome’: u‘Thiago’,u‘sobrenome’:
  u‘Avelino’, u‘linguagem’: [u‘Python’,u’c’,u’c++’]}
MONGODB COM RUBY

Exemplo


  require 'rubygems'
  require 'mongo'

  db = Mongo::Connection.new("localhost").db("gonow")
  gonow = {‘nome’: ‘Thiago’,‘sobrenome’: ‘Avelino’, ‘linguagem’: [‘Python’,’c’,’c++’]}
  db.insert(gonow)
BIT.LY/DOCMONGO
             ou

MONGODB.ORG/DISPLAY/DOCS/HOME
OBRIGADO!!! PERGUNTAS?

             Thiago Avelino
     thiago.avelino@gonow.com.br

          Twitter: @avelino0
        Blog: http://blog.avelino.us

Mais conteúdo relacionado

Mais procurados

MongoDB - Wagner Bonfiglio - Navegg
MongoDB - Wagner Bonfiglio - NaveggMongoDB - Wagner Bonfiglio - Navegg
MongoDB - Wagner Bonfiglio - NaveggFelipe Guimarães
 
Mini-Curso de MongoDB
Mini-Curso de MongoDBMini-Curso de MongoDB
Mini-Curso de MongoDBBrunno Gomes
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBAri Stopassola Junior
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com phpSuissa
 
Geolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e RoutesGeolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e RoutesLuis Gustavo Almeida
 
Introdução ao MongoDB II
Introdução ao MongoDB IIIntrodução ao MongoDB II
Introdução ao MongoDB IILuiz Duarte
 
Enviar email do access
Enviar email do accessEnviar email do access
Enviar email do accessEscola da Vida
 
Mongo DB
Mongo DBMongo DB
Mongo DBdist_bp
 
MongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saberMongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saberChristiano Anderson
 
Migrate linux user password to postfix vmail database
Migrate linux user password to postfix vmail databaseMigrate linux user password to postfix vmail database
Migrate linux user password to postfix vmail databaseCarlos Eduardo
 
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demaisPHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demaisFabrízio Mello
 
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...Big Data Week São Paulo
 
Conexões eficientes em banco de dados com PHP
Conexões eficientes em banco de dados com PHPConexões eficientes em banco de dados com PHP
Conexões eficientes em banco de dados com PHPIgor Lopes
 

Mais procurados (18)

MongoDB - Wagner Bonfiglio - Navegg
MongoDB - Wagner Bonfiglio - NaveggMongoDB - Wagner Bonfiglio - Navegg
MongoDB - Wagner Bonfiglio - Navegg
 
Mongo + php
Mongo + phpMongo + php
Mongo + php
 
Mini-Curso de MongoDB
Mini-Curso de MongoDBMini-Curso de MongoDB
Mini-Curso de MongoDB
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDB
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com php
 
Javascript
Javascript Javascript
Javascript
 
Geolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e RoutesGeolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e Routes
 
Introdução ao MongoDB II
Introdução ao MongoDB IIIntrodução ao MongoDB II
Introdução ao MongoDB II
 
Enviar email do access
Enviar email do accessEnviar email do access
Enviar email do access
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
MongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saberMongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saber
 
Migrate linux user password to postfix vmail database
Migrate linux user password to postfix vmail databaseMigrate linux user password to postfix vmail database
Migrate linux user password to postfix vmail database
 
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demaisPHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
 
Agenda em bash e dialog
Agenda em bash e dialogAgenda em bash e dialog
Agenda em bash e dialog
 
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
 
JasperReports
JasperReportsJasperReports
JasperReports
 
Conexões eficientes em banco de dados com PHP
Conexões eficientes em banco de dados com PHPConexões eficientes em banco de dados com PHP
Conexões eficientes em banco de dados com PHP
 

Destaque

Ist 400 Final Project Presentation[1]
Ist 400 Final Project Presentation[1]Ist 400 Final Project Presentation[1]
Ist 400 Final Project Presentation[1]snasu2009
 
Curriculum Vitae
Curriculum VitaeCurriculum Vitae
Curriculum Vitaeshahrahul
 
Introdução à BDD (Behavior-driven Development)
Introdução à BDD (Behavior-driven Development)Introdução à BDD (Behavior-driven Development)
Introdução à BDD (Behavior-driven Development)Eron Rodrigues Alves
 
Atividade de discussão: world café
Atividade de discussão: world caféAtividade de discussão: world café
Atividade de discussão: world caféTelma Peazetti
 
Técnico superior en arteterapia, Unesco
Técnico superior en arteterapia, UnescoTécnico superior en arteterapia, Unesco
Técnico superior en arteterapia, UnescoGHP
 
What is blog ? Why blogging is so important nowadays? Who need a blog ? Why?
What is blog ? Why blogging is so important nowadays? Who need a blog ? Why?What is blog ? Why blogging is so important nowadays? Who need a blog ? Why?
What is blog ? Why blogging is so important nowadays? Who need a blog ? Why?Yogesh M. A.
 
Banco de dados I - Aula 01 - Guardando Tudo no Armário
Banco de dados I - Aula 01 - Guardando Tudo no ArmárioBanco de dados I - Aula 01 - Guardando Tudo no Armário
Banco de dados I - Aula 01 - Guardando Tudo no ArmárioManoel Afonso
 
Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01julianabdpaiva
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com PythonPythOnRio
 
9i fundamentos adm_banco_de_dados_ii
9i fundamentos adm_banco_de_dados_ii9i fundamentos adm_banco_de_dados_ii
9i fundamentos adm_banco_de_dados_iipedro.prontocor
 

Destaque (20)

El agua
El aguaEl agua
El agua
 
Ist 400 Final Project Presentation[1]
Ist 400 Final Project Presentation[1]Ist 400 Final Project Presentation[1]
Ist 400 Final Project Presentation[1]
 
Pessebre 2012
Pessebre 2012Pessebre 2012
Pessebre 2012
 
Lipovisor UK
Lipovisor UKLipovisor UK
Lipovisor UK
 
11827
1182711827
11827
 
Jaro 2009
Jaro 2009Jaro 2009
Jaro 2009
 
Curriculum Vitae
Curriculum VitaeCurriculum Vitae
Curriculum Vitae
 
PLAN ANTICORRUPCIÓN
PLAN ANTICORRUPCIÓNPLAN ANTICORRUPCIÓN
PLAN ANTICORRUPCIÓN
 
31945
3194531945
31945
 
Examen final.
Examen final.Examen final.
Examen final.
 
Diaporama Cilaos
Diaporama CilaosDiaporama Cilaos
Diaporama Cilaos
 
Introdução à BDD (Behavior-driven Development)
Introdução à BDD (Behavior-driven Development)Introdução à BDD (Behavior-driven Development)
Introdução à BDD (Behavior-driven Development)
 
Atividade de discussão: world café
Atividade de discussão: world caféAtividade de discussão: world café
Atividade de discussão: world café
 
Técnico superior en arteterapia, Unesco
Técnico superior en arteterapia, UnescoTécnico superior en arteterapia, Unesco
Técnico superior en arteterapia, Unesco
 
What is blog ? Why blogging is so important nowadays? Who need a blog ? Why?
What is blog ? Why blogging is so important nowadays? Who need a blog ? Why?What is blog ? Why blogging is so important nowadays? Who need a blog ? Why?
What is blog ? Why blogging is so important nowadays? Who need a blog ? Why?
 
Banco de dados I - Aula 01 - Guardando Tudo no Armário
Banco de dados I - Aula 01 - Guardando Tudo no ArmárioBanco de dados I - Aula 01 - Guardando Tudo no Armário
Banco de dados I - Aula 01 - Guardando Tudo no Armário
 
Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 
9i fundamentos adm_banco_de_dados_ii
9i fundamentos adm_banco_de_dados_ii9i fundamentos adm_banco_de_dados_ii
9i fundamentos adm_banco_de_dados_ii
 
Boa apostila sql
Boa  apostila sqlBoa  apostila sql
Boa apostila sql
 

Semelhante a MongoDB, Banco de Dados orientado a documento

Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Christiano Anderson
 
Modelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDBModelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDBThiago Avelino
 
MongoDB - Tudo que você precisa saber - FGSL 2014
MongoDB - Tudo que você precisa saber - FGSL 2014MongoDB - Tudo que você precisa saber - FGSL 2014
MongoDB - Tudo que você precisa saber - FGSL 2014Christiano Anderson
 
MongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documentoMongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documentoJulio Monteiro
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - ApresentaçãoTerra / Neo
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDBElaine Naomi
 
MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014Christiano Anderson
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a TestesGregorio Melo
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introduçãoJosino Rodrigues
 
Fazendo uma aplicação cliente/servidor (e algumas dicas...)
Fazendo uma aplicação cliente/servidor (e algumas dicas...)Fazendo uma aplicação cliente/servidor (e algumas dicas...)
Fazendo uma aplicação cliente/servidor (e algumas dicas...)Makoto Miyagawa
 
Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Rogerio Fontes
 

Semelhante a MongoDB, Banco de Dados orientado a documento (20)

Python e MongoDB - Ensol
Python e MongoDB - EnsolPython e MongoDB - Ensol
Python e MongoDB - Ensol
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7
 
Modelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDBModelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDB
 
MongoDB na Campus Party
MongoDB na Campus PartyMongoDB na Campus Party
MongoDB na Campus Party
 
MongoDB - Tudo que você precisa saber - FGSL 2014
MongoDB - Tudo que você precisa saber - FGSL 2014MongoDB - Tudo que você precisa saber - FGSL 2014
MongoDB - Tudo que você precisa saber - FGSL 2014
 
MongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documentoMongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documento
 
PHPMongoDB
PHPMongoDBPHPMongoDB
PHPMongoDB
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - Apresentação
 
Mongo db slides
Mongo db slidesMongo db slides
Mongo db slides
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDB
 
MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 
MongoDB
MongoDBMongoDB
MongoDB
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introdução
 
Fazendo uma aplicação cliente/servidor (e algumas dicas...)
Fazendo uma aplicação cliente/servidor (e algumas dicas...)Fazendo uma aplicação cliente/servidor (e algumas dicas...)
Fazendo uma aplicação cliente/servidor (e algumas dicas...)
 
Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014
 
Pdo do PHP Palestra
Pdo do PHP PalestraPdo do PHP Palestra
Pdo do PHP Palestra
 
Mongodb workshop cinlug
Mongodb workshop cinlugMongodb workshop cinlug
Mongodb workshop cinlug
 
Meetup MUG-RS KingHost
Meetup MUG-RS KingHostMeetup MUG-RS KingHost
Meetup MUG-RS KingHost
 

Mais de Thiago Avelino

Bottle, o full stack sem Django
Bottle, o full stack sem DjangoBottle, o full stack sem Django
Bottle, o full stack sem DjangoThiago Avelino
 
MongoDB native to web development - London Framework
MongoDB native to web development - London FrameworkMongoDB native to web development - London Framework
MongoDB native to web development - London FrameworkThiago Avelino
 
O que é CMS? Foco no conteúdo e não no lero lero
O que é CMS? Foco no conteúdo e não no lero leroO que é CMS? Foco no conteúdo e não no lero lero
O que é CMS? Foco no conteúdo e não no lero leroThiago Avelino
 
NoSQL for Search - Riak
NoSQL for Search - RiakNoSQL for Search - Riak
NoSQL for Search - RiakThiago Avelino
 
NoSQL, o que realmente é?
NoSQL, o que realmente é?NoSQL, o que realmente é?
NoSQL, o que realmente é?Thiago Avelino
 
MongoGrid Hosting de MongoDB Open Source
MongoGrid Hosting de MongoDB Open Source MongoGrid Hosting de MongoDB Open Source
MongoGrid Hosting de MongoDB Open Source Thiago Avelino
 
Node.js em produção, javascript no server side
Node.js em produção, javascript no server sideNode.js em produção, javascript no server side
Node.js em produção, javascript no server sideThiago Avelino
 
Test é para os fracos
Test é para os fracosTest é para os fracos
Test é para os fracosThiago Avelino
 
Integrando python ao mongodb
Integrando python ao mongodbIntegrando python ao mongodb
Integrando python ao mongodbThiago Avelino
 

Mais de Thiago Avelino (13)

Bottle, o full stack sem Django
Bottle, o full stack sem DjangoBottle, o full stack sem Django
Bottle, o full stack sem Django
 
MongoDB native to web development - London Framework
MongoDB native to web development - London FrameworkMongoDB native to web development - London Framework
MongoDB native to web development - London Framework
 
O que é CMS? Foco no conteúdo e não no lero lero
O que é CMS? Foco no conteúdo e não no lero leroO que é CMS? Foco no conteúdo e não no lero lero
O que é CMS? Foco no conteúdo e não no lero lero
 
NoSQL for Search - Riak
NoSQL for Search - RiakNoSQL for Search - Riak
NoSQL for Search - Riak
 
NoSQL, o que realmente é?
NoSQL, o que realmente é?NoSQL, o que realmente é?
NoSQL, o que realmente é?
 
MongoGrid Hosting de MongoDB Open Source
MongoGrid Hosting de MongoDB Open Source MongoGrid Hosting de MongoDB Open Source
MongoGrid Hosting de MongoDB Open Source
 
Node.js em produção, javascript no server side
Node.js em produção, javascript no server sideNode.js em produção, javascript no server side
Node.js em produção, javascript no server side
 
Beaga.JS
Beaga.JSBeaga.JS
Beaga.JS
 
Test é para os fracos
Test é para os fracosTest é para os fracos
Test é para os fracos
 
sampa.js end
sampa.js endsampa.js end
sampa.js end
 
sampa.js start
sampa.js startsampa.js start
sampa.js start
 
Integrando python ao mongodb
Integrando python ao mongodbIntegrando python ao mongodb
Integrando python ao mongodb
 
Oficina de Django
Oficina de DjangoOficina de Django
Oficina de Django
 

MongoDB, Banco de Dados orientado a documento

  • 1. Banco de Dados orientado a documento
  • 2. THIAGO AVELINO • Trabalha com Software Livre desde 2005 • Desenvolvedor Python desde 2006 • Committer de alguns projetos OpenSource • CentOS (Kernel) • MongoDB • Algumas biblioteca Python (MongoEngine)
  • 3. PORQUE ESSE NOME? Veio da palavra humongous (Gigantesco)
  • 4. O QUE É MONGODB? • Open Source • Alta Performance • Schema (Esquema) Aberto • Orientado a Documento • Suporte Geo nativo • Banco de Dados
  • 5. O QUE É MONGODB? “O MongoDB trabalha com key-value (que são rápidos e altamente escalável) e sistema RDBMS (Relational database management system) tradicional (que oferecem consultas rica e profunda funcionalidade)”
  • 7. SCHEMA ABERTO • Pós • Tipagem dinâmica • Migrações • Flexibilidade • Cache
  • 8. DOCUMENTO O Documento do MongoDB é basicamente um json. exemplo: { ‘nome’: ‘Thiago’, ‘sobrenome’: ‘Avelino’, ‘linguagem’: ‘Python’, ‘database’: ‘mongodb’ }
  • 9. MIGRAÇÃO Você pode atualizar seus dados dinamicamente { ‘nome’: ‘Thiago’, ‘sobrenome’: ‘Avelino’, ‘linguagem’: ‘Python’, ‘database’: ‘mongodb’ } { ‘nome’: ‘Thiago’, ‘sobrenome’: ‘Avelino’, ‘linguagem’: [‘Python’,’c’,’c++’], ‘database’: ‘mongodb’, ‘empresa’: ‘gonow’ }
  • 10. AGREGADOR Distintos db.gonow.insert({‘linguagem’: ‘python’}) db.gonow.insert({‘linguagem’: ‘c’}) db.gonow.insert({‘linguagem’: ‘c++’}) db.gonow.distinct(‘linguagem’)
  • 11. SQL PARA MONGO A criação de documento no MongoDB é dinamica, basta CREATE TABLE gonow (a Number, b Number); fazer o primeiro insert() INSERT INTO gonow (1,1); db.gonow.insert({a: 1, b: 1}) SELECT * FROM gonow; db.gonow.find({}) SELECT * FROM gonow WHERE sobrenome = ‘Avelino’; db.gonow.find({‘sobrenome’: ‘Avelino’}) SELECT * FROM gonow ORDER BY sobrenome; db.gonow.find({}).sort({sobrenome:1}) SELECT * FROM gonow WHERE a < 1; db.gonow.find({a: {$gt:1}}) SELECT * FROM gonow WHERE a > 1; db.gonow.find({a: {$lt:1}}) SELECT * FROM gonow LIMIT 1; db.gonow.find({}).limit(1)
  • 12. OPERADORES < $lt <= $lte > $gt >= $gte http://www.mongodb.org/display/DOCS/Advanced+Queries
  • 13. MONGODB COM PYTHON Exemplo >>> from pymongo import Connection >>> con = Connection(‘localhost’) >>> db = con[‘gonow’] >>> >>> gonow = {‘nome’: ‘Thiago’,‘sobrenome’: ‘Avelino’, ‘linguagem’: [‘Python’,’c’,’c++’]} >>> db.gonow.insert(gonow) ObjectId(‘4d2e48e7cc9374271b02247a’) >>> db.gonow.find_one({}) {u‘_id’: ObjectId(‘4d2e48e7cc9374271b02247a’),u‘nome’: u‘Thiago’,u‘sobrenome’: u‘Avelino’, u‘linguagem’: [u‘Python’,u’c’,u’c++’]}
  • 14. MONGODB COM RUBY Exemplo require 'rubygems' require 'mongo' db = Mongo::Connection.new("localhost").db("gonow") gonow = {‘nome’: ‘Thiago’,‘sobrenome’: ‘Avelino’, ‘linguagem’: [‘Python’,’c’,’c++’]} db.insert(gonow)
  • 15. BIT.LY/DOCMONGO ou MONGODB.ORG/DISPLAY/DOCS/HOME
  • 16. OBRIGADO!!! PERGUNTAS? Thiago Avelino thiago.avelino@gonow.com.br Twitter: @avelino0 Blog: http://blog.avelino.us

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n