Download - Minicurso mongo db
![Page 1: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/1.jpg)
![Page 2: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/2.jpg)
Você ainda não conhece?
{ nome: ‘Pablo Juan’,Titulo: ‘Microsoft Student Partner’,
Blog:‘pablojuancruz.wordpress.com’Códigos: ‘github.com/pablojuancruz’
email: ‘[email protected]’ }
![Page 3: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/3.jpg)
Agenda
• Sobre• NOSql• História MongoDB• Compreensão• Crud• Perguntas
![Page 4: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/4.jpg)
4
Apresentação – Pablo Juan
• 1º Torneio de Robótica Lego Brasil• Técnico em Informática com ênfase em programação(ETEC de Itaquera).• Graduação em Analise e desenvolvimento de sistemas(FIAP)• Mais de 6 anos de experiência• CEO & Founder For Your System • Consultor .Net Sênior WorkInside• Microsoft Student Partner
“Que o teu orgulho e objetivo consistam em pôr no teu trabalho algo que se assemelhe a um milagre”Leonardo da Vinci.
![Page 5: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/5.jpg)
5
![Page 6: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/6.jpg)
6
Contatos
• Perfil no Facebookhttps://www.facebook.com/PabloJuan.cruz
• Blog Pessoalhttps://pablojuancruz.wordpress.com.br
• LinkedInhttp://br.linkedin.com/in/PabloJuanCruz
![Page 7: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/7.jpg)
7
“O mundo de TI é mais voltado para moda do que a própria moda”
![Page 8: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/8.jpg)
NORel???
![Page 9: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/9.jpg)
NOSql
![Page 10: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/10.jpg)
![Page 11: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/11.jpg)
• Em 1998 com Carlo Strozzi• 2009, Erick Evans, Johan Oskarsson • Open source distribuídos• Performance• SubDivisão(Orientação)
Wide Column Store / Column Families(Hadoop, Cassandra) Document Store(MongoDb, CouchDB) Key Value / Tuple Store(Riak, Redis) Graph Databases(Neo4j,Cayley, ArangoDB) Multimodel Databases(OrientDb) Object Databases(Versant,db4o) Grid & Cloud Database Solutions(Oracle Coherence) XML Databases(EMC Documentum xDB) Multidimensional Databases(Globals) Multivalue Databases(OpenInsight)
Mas o que é NOSQL?
![Page 12: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/12.jpg)
![Page 13: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/13.jpg)
História MongoDB
![Page 14: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/14.jpg)
Etimologia
HUMONGOuS
MONGODB
![Page 15: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/15.jpg)
Historia
– DoubleClick
– 10Gen
– MongoDB INC• WiredTiger
![Page 16: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/16.jpg)
Compreensão
![Page 17: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/17.jpg)
![Page 18: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/18.jpg)
MongoDB
• C++ • Schemaless • JSON/BSON (Orientado a documentos)• Replicação• Sharding • GridFS• Busca/Geolocalização
![Page 19: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/19.jpg)
![Page 20: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/20.jpg)
![Page 21: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/21.jpg)
![Page 22: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/22.jpg)
TerminologiaSQL MongoDB
database database
table collection
row document or BSON document
column field
index index
table joins embedded documents and linking
primary keySpecify any unique column or column combination as primary key.
primary keyIn MongoDB, the primary key is automatically set to the _idfield.
aggregation (e.g. group by) aggregation pipelineSee the SQL to Aggregation Mapping Chart.
![Page 23: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/23.jpg)
Configuração Windows
![Page 24: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/24.jpg)
![Page 25: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/25.jpg)
![Page 26: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/26.jpg)
![Page 27: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/27.jpg)
Instalando como serviço • https://pablojuancruz.wordpress.com/2014/09/03/configurando-ambiente-mongodb-no-windows/
![Page 28: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/28.jpg)
CRUD
![Page 29: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/29.jpg)
Primeiros Comandos• Listando dataBase
– Show dbs;• Criando dataBase/usando dataBase já criado
– Use NomeD ataBase()• Criando e inserindo dado em uma coleção
– db.nomeColecao.insert({dado1:’’,dado2:true}• Listando o conteúdo de uma coleção
– db.nomeColecao.find()
![Page 30: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/30.jpg)
Validando Schemas
db.createCollection( “NomeCollection", { validator: { $and: [ { campo1: { $type: "string" } }, { campo2: { $in: [ “Arroz", “Feijão", “Macarrão", “Banana" ] } }, { campo3{ $in: [ “Tranquilo", “Favorável", “BaileDeFavela" ] } }, { campo4: { $gte: 1992} } ] }} )
![Page 31: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/31.jpg)
Primeiros Comandos• Apagando itens de uma coleção
– db.nomeColecao.remove({query})
• Apagando uma coleção– db.nomeColecao.drop()
• Update (forma básica)var query = db.nomeColecao.findOne()query.dado1 = 23db.nomeColecao.save(query)
![Page 32: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/32.jpg)
Consultas MongoDb
• Listando– db.nomeColecao.findOne()
• Find com Regex– db.nomeColecao.find( { nome : /a/ } );– db.teste.find({nome:{$regex: /a/}})
![Page 33: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/33.jpg)
Operadores
• $eq -- Equal(Igual)– valores que são iguais a um outro valor especificado.
• $gt – Great Than(Maior)– Valores que são maiores do que um outro valor especificado.
• $gte – Great Than or Equal(Maior ou Igual)– Valores que são maiores ou iguais a um outro valor especificado.
• $lt - less than – Valores que são menores do que um outro valor especificado.
• $lte less than or equal – Valores que são menores ou iguais a um outro valor especificado.
• $ne Not Equal– Combina todos os valores que não são iguais a um valor especificado
{"campo" : { $operador: valor} }
db.teste.find({idade:{$gt:18}}).pretty()
![Page 34: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/34.jpg)
Operadaroes array• $in
– Corresponde a qualquer um dos valores especificados em uma matriz.
• $nin - (Not In)– Nenhum dos valores especificados em uma matriz.
db.teste.find({tags : {$in: ['teste','ok']}}).pretty()
Resultado:{ "_id" : ObjectId("5605893fa3a64169cc4622d2"), "nome" : "TJ", "idade" : 24, "tags" : [ "teste", "ok" ]}
![Page 35: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/35.jpg)
Operadores
• $or
• $nor
• $and
db.teste.find({$and:[{nome:"a"}, {idade: {$gte:10}}]}).pretty()
![Page 36: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/36.jpg)
Update• Query
– os critérios de seleção para a atualização. Os mesmos seletores de consulta como no método find () estão disponíveis. O “where” do SQL.
• Update– Campo: valor que desejamos alterar.
• UpSert– Opcional. Se definido como verdadeiro, cria um novo documento quando nenhum coincide com os critérios de
consulta. O valor padrão é falso, o que significa que não irá inserir um novo documento quando não for encontrada nenhuma correspondência.
• Multi– Opcional. Se definido como verdadeiro, atualiza vários documentos que atendem aos critérios de consulta. Se
definido como false, atualiza um documento. O valor padrão é falso. Para obter informações adicionais, consulte multiparâmetro.
• WriteResult– Número de documentos que combinam com a consulta.
db.coleção.update( {editor:{$in:[/a/]}} , {preco:19}, { upsert: true, multi: false })
![Page 37: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/37.jpg)
Referencias e Cursos
• http://nomadev.com.br/
• http://docs.mongodb.org/
• http://dagora.net/be-mean/
• https://github.com/Webschool-io/MongoDb-ebook
![Page 38: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/38.jpg)
![Page 39: Minicurso mongo db](https://reader035.vdocuments.site/reader035/viewer/2022062821/58890ff61a28ab4a5c8b57ff/html5/thumbnails/39.jpg)
Você ainda não conhece?
{ nome: ‘Pablo Juan’,Titulo: ‘Microsoft Student Partner’,
Blog:‘pablojuancruz.wordpress.com’Códigos: ‘github.com/pablojuancruz’
email: ‘[email protected]’ }