SlideShare une entreprise Scribd logo
1  sur  33
DESENVOLVENDO COM
     MONGODB
QUEM SOU EU?
•   Thiago Avelino

•   Socio da empresa Trianguli Consultoria Web

•   Desenvolvedor Python

•   Gerente de Projeto

•   Commiter em alguns projetos

    •   MongoDB

    •   MongoEngine

    •   CentOS (Kernel)
PRÓS MONGODB

•   Tipagem dinâmica

•   Migrações

•   Flexibilidade

•   Cache

•   BSON
Documentos
Documentos
DOCUMENTO
O documento do MongoDB é criado a partir de um JSON.

Exemplo:



  {
      nome: ‘Thiago Avelino’,
      liguagem: ‘Python’,
      database: ‘MongoDB’
  }
Migração
MIGRAÇÃO
Atualizando a estrutura de dados dinamicamente


  {
      nome: ‘Thiago Avelino’,
      liguagem: ‘Python’,
      database: ‘MongoDB’
  }



  {
      nome: ‘Thiago Avelino’,
      liguagem: [‘Python’, ‘Go’, ‘C’, ‘C++’, ‘Ruby’],
      database: [‘MongoDB’, ‘PostgreSQL’, ‘MySQL’]
  }
AGREGADOR
Distintos


  > db.tdc2011.insert({linguagem: ‘Python’})
  > db.tdc2011.insert({linguagem: ‘C’})
  > db.tdc2011.insert({linguagem: ‘C++’})
  > db.tdc2011.insert({linguagem: ‘Ruby’})

  > db.tdc2011.distinct(‘linguagem’)
  [ "python", "c", "c++" ]
map-reduce
MAP-REDUCE
Operações destinadas a manipulação grande conjuntos de informações

  function () {
    this.linguagem.forEach(function(z) {
       emit(z, 1);
     });
  }

  function (key, values) {
     var total = 0;
     for (var i = 0; i < values.length; i++) {
        total += values[i];
     }
     return total;
  }
desenvolvendo
PYTHON
Exemplo
  >>> from pymongo import Connection
  >>> con = Connection
  >>> db = con[‘tdc2011’]
  >>>
  >>> tdc = {nome: ‘Thiago Avelino’,
                 liguagem: [‘Python’, ‘Go’, ‘C’, ‘C++’, ‘Ruby’],
                 database: [‘MongoDB’, ‘PostgreSQL’, ‘MySQL’]}
  >>> db.tdc2011.insert(tdc)
  ObjectId(‘4d2e48e7cc9374271b02247a’)
  >>>
  >>> db.tdc2011.find_one({})
  >>> {u‘_id’: ObjectId(‘4d2e48e7cc9374271b02247a’),u‘nome’: u‘Thiago
  Avelino’, u‘linguagem’: [u‘Python’,u’c’,u’c++’], u’database’: [‘MongoDB’,
  ‘PostgreSQL’, ‘MySQL’]}
ORM
PYTHON ORM
Montando models com MongoEngine



  class Cadastro(Document):
     nome = StringField(required = True, max_length = 200)
     twitter = StringField(max_length = 25)


  class Caracteristicas(Cadastro):
     linguagem = ListField(StringField(max_length = 50))
     database = ListField(StringField(max_length = 50))
PYTHON ORM
Fazendo insert com MongoEngine



    >>> add1 = Cadastro(nome = ‘Thiago Avelino’, twitter = ‘avelino0’)
    >>> add1.linguagem = [‘Python’, ‘C’, ‘C++’, ‘Ruby’]
    >>> add1.database = [‘MongoDB’, ‘PostgreSQL’, ‘MySQL’]
    >>> add1.save()

    >>> add2 = Cadastro(nome = ‘Lerolero’)
    >>> add2.linguagem = [‘Ruby’]
    >>> add2.database = [‘PostgreSQL’]
    >>> add2.save()
PYTHON ORM
Buscando informações via Objeto

     >>> for cad in Cadastro.objects:
     ...      print cad.nome
     ...      if isinstance(cad, Caracteristicas):
     ...        print ‘Twitter: @%s’ % cad.twitter
     ...      print ‘====’
     ...
     Thiago Avelino
     Twitter: @avelino0
     ====
     Lerolero
     ====
PYTHON ORM
Buscando informações via Objeto em lista




     >>> len(Caracteristicas.objects(database = ‘mongodb’))
     1
     >>> len(Caracteristicas.objects(database = ‘PostgreSQL’))
     2
PYTHON ORM
GridFS
  class Img(Document):
     nome = StringField(required = True, max_length = 50)
     photo = FileField()

    >>> i = Img(nome = ‘Python’)
    >>> photo_py = open(‘python.png’, ‘r’)
    >>> i.photo = photo_py
    >>> i.photo.content_type = ‘image/png’
    >>> i.save()

    >>> i = Img.object(nome = ‘Python’).first()
    >>> photo = i.photo.read()
    >>> content_type = i.photo.content_type
MiniMongo   ...
RUBY
Exemplo

  require ‘rubygems’
  require ‘mongo’

  coll = Mongo::Connection.new.db(‘tdc2011’)

  doc = {‘nome’ => ‘Avelino’, ‘linguagem’ => ‘Ruby’}

  coll.insert(doc)

  doc[‘nome’] = ‘Thiago Avelino’
  coll.update({‘_id’ => doc[‘_id’]}, doc)

  coll.find({‘linguagem’ => ‘Ruby’})
RUBY MONGOMAPPER
Exemplo
  class Cadastro
    include MongoMapper::Document

   key :nome, String
   key :linguagem, String

  end


  cad = Cadastro.new(:nome => ‘Thiago Avelino’, :linguagem => ‘Ruby’)

  cad.save!

  Cadastro.where(:linguagem => ‘Ruby’).first
RUBY ORM

•   MongoID

•   MongoMapper

•   MongoODM (Brasileiro)

•   ...
CASE
MONITOR DE MIDIA SOCIAL
CASE
MONITOR DE MIDIA SOCIAL
CASE
MONITOR DE MIDIA SOCIAL
CASE
MONITOR DE MIDIA SOCIAL
CASE
GAME USANDO MONGODB
CASE
GAME USANDO MONGODB
OBRIGADO!
PERGUNTAS?

  Thiago Avelino
 thiago@avelino.us
  www.avelino.us
     @avelino0

Contenu connexe

Tendances

Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Luis Gustavo Almeida
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Luis Gustavo Almeida
 
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
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com phpSuissa
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDBRodrigo Hjort
 
Shut up and give me the data - Capturando dados com scrapy
Shut up and give me the data - Capturando dados com scrapyShut up and give me the data - Capturando dados com scrapy
Shut up and give me the data - Capturando dados com scrapyRogers Prates de Pelle
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - ApresentaçãoTerra / Neo
 
JavaScript - Objectos e Arrays
JavaScript - Objectos e ArraysJavaScript - Objectos e Arrays
JavaScript - Objectos e ArraysValter Cinquenta
 
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
 
Minicurso Epoca mongoDB
Minicurso Epoca mongoDBMinicurso Epoca mongoDB
Minicurso Epoca mongoDBLelyBarros
 
Introdução ao MongoDB em 30 slides
Introdução ao MongoDB em 30 slidesIntrodução ao MongoDB em 30 slides
Introdução ao MongoDB em 30 slidesDerek Willian Stavis
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Christiano Anderson
 

Tendances (20)

programação c 2 aula
programação c 2 aulaprogramação c 2 aula
programação c 2 aula
 
Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
 
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
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com php
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDB
 
Shut up and give me the data - Capturando dados com scrapy
Shut up and give me the data - Capturando dados com scrapyShut up and give me the data - Capturando dados com scrapy
Shut up and give me the data - Capturando dados com scrapy
 
Python MongoDB no MongoSP
Python MongoDB no MongoSPPython MongoDB no MongoSP
Python MongoDB no MongoSP
 
2011 01-18 mongo-db
2011 01-18 mongo-db2011 01-18 mongo-db
2011 01-18 mongo-db
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - Apresentação
 
Mongodb workshop cinlug
Mongodb workshop cinlugMongodb workshop cinlug
Mongodb workshop cinlug
 
JavaScript - Objectos e Arrays
JavaScript - Objectos e ArraysJavaScript - Objectos e Arrays
JavaScript - Objectos e Arrays
 
Mongo + php
Mongo + phpMongo + php
Mongo + php
 
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
 
Minicurso Epoca mongoDB
Minicurso Epoca mongoDBMinicurso Epoca mongoDB
Minicurso Epoca mongoDB
 
NoSQL e MongoDB - ETEC
NoSQL e MongoDB - ETECNoSQL e MongoDB - ETEC
NoSQL e MongoDB - ETEC
 
Introdução ao MongoDB em 30 slides
Introdução ao MongoDB em 30 slidesIntrodução ao MongoDB em 30 slides
Introdução ao MongoDB em 30 slides
 
Palestra cbq
Palestra cbqPalestra cbq
Palestra cbq
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7
 
MongoDB - Iniciando e Conhecendo
MongoDB - Iniciando e ConhecendoMongoDB - Iniciando e Conhecendo
MongoDB - Iniciando e Conhecendo
 

Similaire à Desenvolvendo com mongodb

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
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a TestesGregorio Melo
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmGuilherme Blanco
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compactoLuciano Ramalho
 
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
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Luciano Ramalho
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introduçãoJosino Rodrigues
 
Minicurso Introdução ao mongoDB SCTI
Minicurso Introdução ao mongoDB SCTIMinicurso Introdução ao mongoDB SCTI
Minicurso Introdução ao mongoDB SCTIBruna Pereira
 

Similaire à Desenvolvendo com mongodb (20)

Python e MongoDB - Ensol
Python e MongoDB - EnsolPython e MongoDB - Ensol
Python e MongoDB - Ensol
 
Workshop Django
Workshop DjangoWorkshop Django
Workshop Django
 
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
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 
Aplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com DjangoAplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com Django
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
 
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
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Mongo db slides
Mongo db slidesMongo db slides
Mongo db slides
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e Python
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introdução
 
MongoDB na Campus Party
MongoDB na Campus PartyMongoDB na Campus Party
MongoDB na Campus Party
 
Implementação de
Implementação de Implementação de
Implementação de
 
Minicurso Introdução ao mongoDB SCTI
Minicurso Introdução ao mongoDB SCTIMinicurso Introdução ao mongoDB SCTI
Minicurso Introdução ao mongoDB SCTI
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
Python 06
Python 06Python 06
Python 06
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
 
Palestra MongoDB
Palestra MongoDBPalestra MongoDB
Palestra MongoDB
 

Plus 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
 

Plus 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
 

Desenvolvendo com mongodb

  • 2. QUEM SOU EU? • Thiago Avelino • Socio da empresa Trianguli Consultoria Web • Desenvolvedor Python • Gerente de Projeto • Commiter em alguns projetos • MongoDB • MongoEngine • CentOS (Kernel)
  • 3.
  • 4. PRÓS MONGODB • Tipagem dinâmica • Migrações • Flexibilidade • Cache • BSON
  • 7. DOCUMENTO O documento do MongoDB é criado a partir de um JSON. Exemplo: { nome: ‘Thiago Avelino’, liguagem: ‘Python’, database: ‘MongoDB’ }
  • 9. MIGRAÇÃO Atualizando a estrutura de dados dinamicamente { nome: ‘Thiago Avelino’, liguagem: ‘Python’, database: ‘MongoDB’ } { nome: ‘Thiago Avelino’, liguagem: [‘Python’, ‘Go’, ‘C’, ‘C++’, ‘Ruby’], database: [‘MongoDB’, ‘PostgreSQL’, ‘MySQL’] }
  • 10. AGREGADOR Distintos > db.tdc2011.insert({linguagem: ‘Python’}) > db.tdc2011.insert({linguagem: ‘C’}) > db.tdc2011.insert({linguagem: ‘C++’}) > db.tdc2011.insert({linguagem: ‘Ruby’}) > db.tdc2011.distinct(‘linguagem’) [ "python", "c", "c++" ]
  • 12. MAP-REDUCE Operações destinadas a manipulação grande conjuntos de informações function () { this.linguagem.forEach(function(z) { emit(z, 1); }); } function (key, values) { var total = 0; for (var i = 0; i < values.length; i++) { total += values[i]; } return total; }
  • 14.
  • 15. PYTHON Exemplo >>> from pymongo import Connection >>> con = Connection >>> db = con[‘tdc2011’] >>> >>> tdc = {nome: ‘Thiago Avelino’, liguagem: [‘Python’, ‘Go’, ‘C’, ‘C++’, ‘Ruby’], database: [‘MongoDB’, ‘PostgreSQL’, ‘MySQL’]} >>> db.tdc2011.insert(tdc) ObjectId(‘4d2e48e7cc9374271b02247a’) >>> >>> db.tdc2011.find_one({}) >>> {u‘_id’: ObjectId(‘4d2e48e7cc9374271b02247a’),u‘nome’: u‘Thiago Avelino’, u‘linguagem’: [u‘Python’,u’c’,u’c++’], u’database’: [‘MongoDB’, ‘PostgreSQL’, ‘MySQL’]}
  • 16. ORM
  • 17. PYTHON ORM Montando models com MongoEngine class Cadastro(Document): nome = StringField(required = True, max_length = 200) twitter = StringField(max_length = 25) class Caracteristicas(Cadastro): linguagem = ListField(StringField(max_length = 50)) database = ListField(StringField(max_length = 50))
  • 18. PYTHON ORM Fazendo insert com MongoEngine >>> add1 = Cadastro(nome = ‘Thiago Avelino’, twitter = ‘avelino0’) >>> add1.linguagem = [‘Python’, ‘C’, ‘C++’, ‘Ruby’] >>> add1.database = [‘MongoDB’, ‘PostgreSQL’, ‘MySQL’] >>> add1.save() >>> add2 = Cadastro(nome = ‘Lerolero’) >>> add2.linguagem = [‘Ruby’] >>> add2.database = [‘PostgreSQL’] >>> add2.save()
  • 19. PYTHON ORM Buscando informações via Objeto >>> for cad in Cadastro.objects: ... print cad.nome ... if isinstance(cad, Caracteristicas): ... print ‘Twitter: @%s’ % cad.twitter ... print ‘====’ ... Thiago Avelino Twitter: @avelino0 ==== Lerolero ====
  • 20. PYTHON ORM Buscando informações via Objeto em lista >>> len(Caracteristicas.objects(database = ‘mongodb’)) 1 >>> len(Caracteristicas.objects(database = ‘PostgreSQL’)) 2
  • 21. PYTHON ORM GridFS class Img(Document): nome = StringField(required = True, max_length = 50) photo = FileField() >>> i = Img(nome = ‘Python’) >>> photo_py = open(‘python.png’, ‘r’) >>> i.photo = photo_py >>> i.photo.content_type = ‘image/png’ >>> i.save() >>> i = Img.object(nome = ‘Python’).first() >>> photo = i.photo.read() >>> content_type = i.photo.content_type
  • 22. MiniMongo ...
  • 23.
  • 24. RUBY Exemplo require ‘rubygems’ require ‘mongo’ coll = Mongo::Connection.new.db(‘tdc2011’) doc = {‘nome’ => ‘Avelino’, ‘linguagem’ => ‘Ruby’} coll.insert(doc) doc[‘nome’] = ‘Thiago Avelino’ coll.update({‘_id’ => doc[‘_id’]}, doc) coll.find({‘linguagem’ => ‘Ruby’})
  • 25. RUBY MONGOMAPPER Exemplo class Cadastro include MongoMapper::Document key :nome, String key :linguagem, String end cad = Cadastro.new(:nome => ‘Thiago Avelino’, :linguagem => ‘Ruby’) cad.save! Cadastro.where(:linguagem => ‘Ruby’).first
  • 26. RUBY ORM • MongoID • MongoMapper • MongoODM (Brasileiro) • ...
  • 33. OBRIGADO! PERGUNTAS? Thiago Avelino thiago@avelino.us www.avelino.us @avelino0

Notes de l'éditeur

  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
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n