SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Patrick Espake
Visão Geral Foi projetado para os problemas sem grandes exigências de transações e que não são facilmente resolvidos por RDBMSs tradicionais, incluindo os problemas que exigem que o banco de dados esteja espalhado em muitos servidores.
Características ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JavaScript Shell A primeira coisa a notar é que o shell do MongoDB é baseado em Javascript. Assim, você pode fazer coisas como: a = 5; a * 10; for(i=0; i<10; i++) { print('hello'); };
Documentos MongoDB é um banco de dados de documento. Isto significa que podemos armazenar dados como documentos. Que são similar a objetos JavaScript. Abaixo são alguns exemplos de objetos JS: var a = {age: 25}; var n = {name: 'Patrick', languages: ['c', 'ruby']}; var student = {name: 'Jim', scores: [75, 99, 87.2]};
Salvando Veja como salvar um documento no MongoDB: db.scores.save({a: 99}); Isso diz, ”salvar o documento '{a: 99}' na coleção de 'scores'.
Salvando e Consultando Vamos adicionar alguns documentos na coleção de scores: for(i=0; i<10; i++) { db.scores.save({a: i, exam: 5}) }; Para buscar todos os documentos adicionados: db.scores.find();
Consultando > db.scores.find(); [ {  &quot;a&quot; : 0,  &quot;exam&quot; : 5,  &quot;_id&quot; : &quot;4b7dfdc179e2022d73003eea&quot;  }, {  &quot;a&quot; : 6,  &quot;exam&quot; : 5,  &quot;_id&quot; : &quot;4b7dfdc179e2022d6d003f50&quot;  }, {  &quot;a&quot; : 1,  &quot;exam&quot; : 5,  &quot;_id&quot; : &quot;4b7dfdc179e2022d73003eeb&quot;  }, {  &quot;a&quot; : 2,  &quot;exam&quot; : 5,  &quot;_id&quot; : &quot;4b7dfdc179e2022d6d003f51&quot;  }, {  &quot;a&quot; : 3,  &quot;exam&quot; : 5,  &quot;_id&quot; : &quot;4b7dfdc179e2022d73003eec&quot;  }, {  &quot;a&quot; : 4,  &quot;exam&quot; : 5,  &quot;_id&quot; : &quot;4b7dfdc179e2022d6d003f52&quot;  }, {  &quot;a&quot; : 5,  &quot;exam&quot; : 5,  &quot;_id&quot; : &quot;4b7dfdc179e2022d73003eed&quot;  }, {  &quot;a&quot; : 7,  &quot;exam&quot; : 5,  &quot;_id&quot; : &quot;4b7dfdc179e2022d6d003f53&quot;  }, {  &quot;a&quot; : 8,  &quot;exam&quot; : 5,  &quot;_id&quot; : &quot;4b7dfdc279e2022d73003eee&quot;  }, {  &quot;a&quot; : 9,  &quot;exam&quot; : 5,  &quot;_id&quot; : &quot;4b7dfdc279e2022d6d003f54&quot;  } ]
Consultas Básicas Como encontrar todos os documentos onde a == 2: db.scores.find({a: 2}); Ou sobre os documentos onde a > 15? db.scores.find({a: {'$gt': 15}});
Operadores de Consulta $gt é um dos muitos operadores especiais de consulta. Abaixo alguns outros: $lt - '<', $lte - '<=', $gte - '>=', $ne - '!=', $in – 'is in array', $nin - '! in array' db.scores.find({a: {'$in': [2, 3, 4]}}); db.scores.find({a: {'$gte': 2, '$lte': 4}});
Atualizando Vamos criar um documentos para depois atualizar: db.users.save({name: 'Johnny', languages: ['ruby', 'c']});  Para atualizar o documento: db.users.update({name: 'Johnny'}, {name: 'Cash', languages: ['english']});
Operadores de Atualização MongoDB suporta atualizações parciais de documentos. Por exempo, você pode definir um valor: db.users.update({name: 'Cash'}, {'$set': {'age': 50} });  É possível adicionar e remover itens dos arrays: db.users.update({name: 'Sue'}, {'$pull': {'languages': 'scala'} }); db.users.update({name: 'Sue'}, {'$push': {'languages': 'ruby'} });
Apagando Dados Para apagar tudo da coleção: db.scores.remove();  Para apagar os documentos que casam com uma consulta: db.users.remove({name: 'Sue'});
Mais sobre MongoDB Visite   http://www.mongodb.org   e verifique a documentação.
Patrick Espake E-mail:   [email_address] Blog: http://blog.patrickespake.com

Weitere ähnliche Inhalte

Ähnlich wie MongoDB

Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidademetzen
 
CouchDB vs Postgres em Rails
CouchDB vs Postgres em RailsCouchDB vs Postgres em Rails
CouchDB vs Postgres em RailsJuan Maiz
 
CouchDB vs PostgreSQL no Rails
CouchDB vs PostgreSQL no RailsCouchDB vs PostgreSQL no Rails
CouchDB vs PostgreSQL no RailsJohalf Farina
 
Mini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoMini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoFabricio NErdmann
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasCJR, UnB
 
Django + extjs pelos forms
Django + extjs pelos formsDjango + extjs pelos forms
Django + extjs pelos formsMoacir Filho
 
Mini-Curso de MongoDB
Mini-Curso de MongoDBMini-Curso de MongoDB
Mini-Curso de MongoDBBrunno Gomes
 
rails_and_agile
rails_and_agilerails_and_agile
rails_and_agileJuan Maiz
 
MongoDB com a Turma do Chaves
MongoDB com a Turma do ChavesMongoDB com a Turma do Chaves
MongoDB com a Turma do ChavesPedro Menezes
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopDiego Sana
 
Edição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a pontaEdição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a pontaJorge Walendowsky
 

Ähnlich wie MongoDB (20)

Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
CouchDB vs Postgres em Rails
CouchDB vs Postgres em RailsCouchDB vs Postgres em Rails
CouchDB vs Postgres em Rails
 
CouchDB vs PostgreSQL no Rails
CouchDB vs PostgreSQL no RailsCouchDB vs PostgreSQL no Rails
CouchDB vs PostgreSQL no Rails
 
Mini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoMini Curso de Python para Coding Dojo
Mini Curso de Python para Coding Dojo
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
 
Django + extjs pelos forms
Django + extjs pelos formsDjango + extjs pelos forms
Django + extjs pelos forms
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Workshop Python.1
Workshop Python.1Workshop Python.1
Workshop Python.1
 
Mini-Curso de MongoDB
Mini-Curso de MongoDBMini-Curso de MongoDB
Mini-Curso de MongoDB
 
rails_and_agile
rails_and_agilerails_and_agile
rails_and_agile
 
Mongodb workshop cinlug
Mongodb workshop cinlugMongodb workshop cinlug
Mongodb workshop cinlug
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
Minicurso mongo db
Minicurso mongo dbMinicurso mongo db
Minicurso mongo db
 
MongoDB com a Turma do Chaves
MongoDB com a Turma do ChavesMongoDB com a Turma do Chaves
MongoDB com a Turma do Chaves
 
NotORM
NotORMNotORM
NotORM
 
Aula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQLAula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQL
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day Workshop
 
Uma Breve Introdução ao MongoDB
Uma Breve Introdução ao MongoDBUma Breve Introdução ao MongoDB
Uma Breve Introdução ao MongoDB
 
Edição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a pontaEdição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a ponta
 

Kürzlich hochgeladen

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Kürzlich hochgeladen (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

MongoDB

  • 2. Visão Geral Foi projetado para os problemas sem grandes exigências de transações e que não são facilmente resolvidos por RDBMSs tradicionais, incluindo os problemas que exigem que o banco de dados esteja espalhado em muitos servidores.
  • 3.
  • 4. JavaScript Shell A primeira coisa a notar é que o shell do MongoDB é baseado em Javascript. Assim, você pode fazer coisas como: a = 5; a * 10; for(i=0; i<10; i++) { print('hello'); };
  • 5. Documentos MongoDB é um banco de dados de documento. Isto significa que podemos armazenar dados como documentos. Que são similar a objetos JavaScript. Abaixo são alguns exemplos de objetos JS: var a = {age: 25}; var n = {name: 'Patrick', languages: ['c', 'ruby']}; var student = {name: 'Jim', scores: [75, 99, 87.2]};
  • 6. Salvando Veja como salvar um documento no MongoDB: db.scores.save({a: 99}); Isso diz, ”salvar o documento '{a: 99}' na coleção de 'scores'.
  • 7. Salvando e Consultando Vamos adicionar alguns documentos na coleção de scores: for(i=0; i<10; i++) { db.scores.save({a: i, exam: 5}) }; Para buscar todos os documentos adicionados: db.scores.find();
  • 8. Consultando > db.scores.find(); [ { &quot;a&quot; : 0, &quot;exam&quot; : 5, &quot;_id&quot; : &quot;4b7dfdc179e2022d73003eea&quot; }, { &quot;a&quot; : 6, &quot;exam&quot; : 5, &quot;_id&quot; : &quot;4b7dfdc179e2022d6d003f50&quot; }, { &quot;a&quot; : 1, &quot;exam&quot; : 5, &quot;_id&quot; : &quot;4b7dfdc179e2022d73003eeb&quot; }, { &quot;a&quot; : 2, &quot;exam&quot; : 5, &quot;_id&quot; : &quot;4b7dfdc179e2022d6d003f51&quot; }, { &quot;a&quot; : 3, &quot;exam&quot; : 5, &quot;_id&quot; : &quot;4b7dfdc179e2022d73003eec&quot; }, { &quot;a&quot; : 4, &quot;exam&quot; : 5, &quot;_id&quot; : &quot;4b7dfdc179e2022d6d003f52&quot; }, { &quot;a&quot; : 5, &quot;exam&quot; : 5, &quot;_id&quot; : &quot;4b7dfdc179e2022d73003eed&quot; }, { &quot;a&quot; : 7, &quot;exam&quot; : 5, &quot;_id&quot; : &quot;4b7dfdc179e2022d6d003f53&quot; }, { &quot;a&quot; : 8, &quot;exam&quot; : 5, &quot;_id&quot; : &quot;4b7dfdc279e2022d73003eee&quot; }, { &quot;a&quot; : 9, &quot;exam&quot; : 5, &quot;_id&quot; : &quot;4b7dfdc279e2022d6d003f54&quot; } ]
  • 9. Consultas Básicas Como encontrar todos os documentos onde a == 2: db.scores.find({a: 2}); Ou sobre os documentos onde a > 15? db.scores.find({a: {'$gt': 15}});
  • 10. Operadores de Consulta $gt é um dos muitos operadores especiais de consulta. Abaixo alguns outros: $lt - '<', $lte - '<=', $gte - '>=', $ne - '!=', $in – 'is in array', $nin - '! in array' db.scores.find({a: {'$in': [2, 3, 4]}}); db.scores.find({a: {'$gte': 2, '$lte': 4}});
  • 11. Atualizando Vamos criar um documentos para depois atualizar: db.users.save({name: 'Johnny', languages: ['ruby', 'c']}); Para atualizar o documento: db.users.update({name: 'Johnny'}, {name: 'Cash', languages: ['english']});
  • 12. Operadores de Atualização MongoDB suporta atualizações parciais de documentos. Por exempo, você pode definir um valor: db.users.update({name: 'Cash'}, {'$set': {'age': 50} }); É possível adicionar e remover itens dos arrays: db.users.update({name: 'Sue'}, {'$pull': {'languages': 'scala'} }); db.users.update({name: 'Sue'}, {'$push': {'languages': 'ruby'} });
  • 13. Apagando Dados Para apagar tudo da coleção: db.scores.remove(); Para apagar os documentos que casam com uma consulta: db.users.remove({name: 'Sue'});
  • 14. Mais sobre MongoDB Visite http://www.mongodb.org e verifique a documentação.
  • 15. Patrick Espake E-mail: [email_address] Blog: http://blog.patrickespake.com