SlideShare uma empresa Scribd logo
1 de 39
Você ainda não conhece?
{ nome: ‘Pablo Juan’,
Titulo: ‘Microsoft Student Partner’,
Blog:‘pablojuancruz.wordpress.com’
Códigos: ‘github.com/pablojuancruz’
email: ‘pablojuan@foryoursystem.com’ }
Agenda
• Sobre
• NOSql
• História MongoDB
• Compreensão
• Crud
• Perguntas
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.
5
6
Contatos
• Perfil no Facebook
https://www.facebook.com/PabloJuan.cruz
• Blog Pessoal
https://pablojuancruz.wordpress.com.br
• LinkedIn
http://br.linkedin.com/in/PabloJuanCruz
7
“O mundo de TI é mais voltado para moda do que a própria
moda”
NORel???
NOSql
• 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?
História MongoDB
Etimologia
HUMONGOuS
MONGODB
Historia
– DoubleClick
– 10Gen
– MongoDB INC
• WiredTiger
Compreensão
MongoDB
• C++
• Schemaless
• JSON/BSON (Orientado a documentos)
• Replicação
• Sharding
• GridFS
• Busca/Geolocalização
Terminologia
SQL MongoDB
database database
table collection
row document or BSON document
column field
index index
table joins embedded documents and linking
primary key
Specify any unique column or column combination as
primary key.
primary key
In MongoDB, the primary key is automatically set to
the _idfield.
aggregation (e.g. group by)
aggregation pipeline
See the SQL to Aggregation Mapping Chart.
Configuração Windows
Instalando como serviço
• https://pablojuancruz.wordpress.com/2014/09/03/configurando-ambiente-mongodb-no-windows/
CRUD
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()
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} }
]
}
} )
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 = 23
db.nomeColecao.save(query)
Consultas MongoDb
• Listando
– db.nomeColecao.findOne()
• Find com Regex
– db.nomeColecao.find( { nome : /a/ } );
– db.teste.find({nome:{$regex: /a/}})
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()
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"
]
}
Operadores
• $or
• $nor
• $and
db.teste.find({$and:[{nome:"a"}, {idade: {$gte:10}}]}).pretty()
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 })
Referencias e Cursos
• http://nomadev.com.br/
• http://docs.mongodb.org/
• http://dagora.net/be-mean/
• https://github.com/Webschool-io/MongoDb-ebook
Você ainda não conhece?
{ nome: ‘Pablo Juan’,
Titulo: ‘Microsoft Student Partner’,
Blog:‘pablojuancruz.wordpress.com’
Códigos: ‘github.com/pablojuancruz’
email: ‘pablojuan@foryoursystem.com’ }

Mais conteúdo relacionado

Mais procurados

LabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQLLabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQL
Carlos Santos
 
Mude seu jeito de pensar com MongoDB
Mude seu jeito de pensar com MongoDBMude seu jeito de pensar com MongoDB
Mude seu jeito de pensar com MongoDB
Douglas Lira
 
LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05
Carlos Santos
 
Acesso a banco de dados com JDBC
Acesso a banco de dados com JDBCAcesso a banco de dados com JDBC
Acesso a banco de dados com JDBC
Eduardo Mendes
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4
Carlos Santos
 
Uma implementação de suporte a
Uma implementação de suporte a Uma implementação de suporte a
Uma implementação de suporte a
Rômulo Jales
 

Mais procurados (20)

LabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQLLabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQL
 
Mude seu jeito de pensar com MongoDB
Mude seu jeito de pensar com MongoDBMude seu jeito de pensar com MongoDB
Mude seu jeito de pensar com MongoDB
 
LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05
 
Voce ainda não conhece o mongoDb?
Voce ainda não conhece o mongoDb?Voce ainda não conhece o mongoDb?
Voce ainda não conhece o mongoDb?
 
5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP
 
Implementação de
Implementação de Implementação de
Implementação de
 
2011 01-18 mongo-db
2011 01-18 mongo-db2011 01-18 mongo-db
2011 01-18 mongo-db
 
Acesso a banco de dados com JDBC
Acesso a banco de dados com JDBCAcesso a banco de dados com JDBC
Acesso a banco de dados com JDBC
 
Manipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCManipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBC
 
Workshop MongoDB
Workshop MongoDBWorkshop MongoDB
Workshop MongoDB
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBC
 
JDBC
JDBCJDBC
JDBC
 
How to use Elasticsearch Analyzers by EmergiNet
How to use  Elasticsearch Analyzers by EmergiNetHow to use  Elasticsearch Analyzers by EmergiNet
How to use Elasticsearch Analyzers by EmergiNet
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4
 
Uma implementação de suporte a
Uma implementação de suporte a Uma implementação de suporte a
Uma implementação de suporte a
 
String e IO
String e IOString e IO
String e IO
 
Palestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDOPalestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDO
 
jQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê FajolijQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê Fajoli
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
 
Introdução ao JQuery e AJAX
Introdução ao JQuery e AJAXIntrodução ao JQuery e AJAX
Introdução ao JQuery e AJAX
 

Semelhante a Minicurso mongo db

acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
ISCTE-IUL ACM Student Chapter
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
Wesley Lemos
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introdução
Josino Rodrigues
 

Semelhante a Minicurso mongo db (20)

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
 
MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014
 
NoSQL e MongoDB
NoSQL e MongoDBNoSQL e MongoDB
NoSQL e MongoDB
 
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
 
Spring Data com MongoDB
Spring Data com MongoDBSpring Data com MongoDB
Spring Data com MongoDB
 
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
 
NoSQL e MongoDB - ETEC
NoSQL e MongoDB - ETECNoSQL e MongoDB - ETEC
NoSQL e MongoDB - ETEC
 
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
 
Introdução no sql mongodb java
Introdução no sql mongodb javaIntrodução no sql mongodb java
Introdução no sql mongodb java
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1
 
Mongodb workshop cinlug
Mongodb workshop cinlugMongodb workshop cinlug
Mongodb workshop cinlug
 
Hibernate-consultas
Hibernate-consultasHibernate-consultas
Hibernate-consultas
 
TDC2017 | São Paulo - Trilha NODEJS How we figured out we had a SRE team at -...
TDC2017 | São Paulo - Trilha NODEJS How we figured out we had a SRE team at -...TDC2017 | São Paulo - Trilha NODEJS How we figured out we had a SRE team at -...
TDC2017 | São Paulo - Trilha NODEJS How we figured out we had a SRE team at -...
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introdução
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
 
Python 04
Python 04Python 04
Python 04
 
Postgresql como NewSQL - DevCamp 2014
Postgresql como NewSQL - DevCamp 2014Postgresql como NewSQL - DevCamp 2014
Postgresql como NewSQL - DevCamp 2014
 

Minicurso mongo db

  • 1.
  • 2. Você ainda não conhece? { nome: ‘Pablo Juan’, Titulo: ‘Microsoft Student Partner’, Blog:‘pablojuancruz.wordpress.com’ Códigos: ‘github.com/pablojuancruz’ email: ‘pablojuan@foryoursystem.com’ }
  • 3. Agenda • Sobre • NOSql • História MongoDB • Compreensão • Crud • Perguntas
  • 4. 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.
  • 5. 5
  • 6. 6 Contatos • Perfil no Facebook https://www.facebook.com/PabloJuan.cruz • Blog Pessoal https://pablojuancruz.wordpress.com.br • LinkedIn http://br.linkedin.com/in/PabloJuanCruz
  • 7. 7 “O mundo de TI é mais voltado para moda do que a própria moda”
  • 10.
  • 11. • 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?
  • 12.
  • 15. Historia – DoubleClick – 10Gen – MongoDB INC • WiredTiger
  • 17.
  • 18. MongoDB • C++ • Schemaless • JSON/BSON (Orientado a documentos) • Replicação • Sharding • GridFS • Busca/Geolocalização
  • 19.
  • 20.
  • 21.
  • 22. Terminologia SQL MongoDB database database table collection row document or BSON document column field index index table joins embedded documents and linking primary key Specify any unique column or column combination as primary key. primary key In MongoDB, the primary key is automatically set to the _idfield. aggregation (e.g. group by) aggregation pipeline See the SQL to Aggregation Mapping Chart.
  • 24.
  • 25.
  • 26.
  • 27. Instalando como serviço • https://pablojuancruz.wordpress.com/2014/09/03/configurando-ambiente-mongodb-no-windows/
  • 28. CRUD
  • 29. 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()
  • 30. 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} } ] } } )
  • 31. 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 = 23 db.nomeColecao.save(query)
  • 32. Consultas MongoDb • Listando – db.nomeColecao.findOne() • Find com Regex – db.nomeColecao.find( { nome : /a/ } ); – db.teste.find({nome:{$regex: /a/}})
  • 33. 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()
  • 34. 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" ] }
  • 35. Operadores • $or • $nor • $and db.teste.find({$and:[{nome:"a"}, {idade: {$gte:10}}]}).pretty()
  • 36. 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 })
  • 37. Referencias e Cursos • http://nomadev.com.br/ • http://docs.mongodb.org/ • http://dagora.net/be-mean/ • https://github.com/Webschool-io/MongoDb-ebook
  • 38.
  • 39. Você ainda não conhece? { nome: ‘Pablo Juan’, Titulo: ‘Microsoft Student Partner’, Blog:‘pablojuancruz.wordpress.com’ Códigos: ‘github.com/pablojuancruz’ email: ‘pablojuan@foryoursystem.com’ }

Notas do Editor

  1. O termo NoSQL foi usado pela primeira vez em 1998, como o nome de um banco de dados relacional de código aberto que não possuía um interface SQL. Seu autor, Carlo Strozzi, alega que o movimento NoSQL “é completamente distinto do modelo relacional e, portanto, deveria ser mais apropriadamente chamado ‘NoREL’ ou algo que produzisse o mesmo efeito”. Porém, o termo só voltou a ser assunto em 2009, por um funcionário do Rackspace, Eric Evans, quando Johan Oskarsson, da Last.fm, queria organizar um evento para discutir bancos de dados open source distribuídos.  http://nosql-database.org/
  2. Now have the option to scale both vertically as well as horizontally
  3. Ele é feito em C++ Antes ele utilizava a interface js do FireMonkey que era da Mozilla Na versão 2.2 ele mudou para a engine V8 do Google, atualmente a maquina de interpretação de javascript mais rápida do mercado. MongoDb nasceu para trabalhar na web Escalabilidade Horizontal. Schemaless – Sem estrutura física definida a Mesma coleção pode ter modelo de dados diferentes. JSON/BSOn – JSon um modelo de comunicação de dados, BSON é a implementação binaria desse JSON, o MongoDB quando vc cria uma database ele pré aloca uma quantidade de espaço no seu hd para persistir seus Dados Sequencialmente. MongoDb não faz nada no seu HD ele joga tudo na memoria ram o que vc ta buscando pra ai depois ele fazer as operações lá e ai depois fazer a persistência física dos dados no seu HD/Storage. O Servidor na verdade ele pode ter a mesma quantidade de RAM do HD pq se vc tiver mais hd do que RAM, você vai ficar persistindo os dados e quando esses arquivos não tiverem na memoria RAM ele vai ter que fazer uma troca de pagina aí ele vai ter um custo de performance. Replica SET = Espelhamento dos dados Bancos relacionais tem. Sharding: Voce divide a sua coleção que esta passando da sua memoria ram em diversos servidores, pq ai aquele seu dado que não cabe na memoria ram ele faz o sharding dessa coleção. Ex: Uma coleção que tem mais de 12 GB de memoria e seu server só tem 8GB. Você vai colocar mais Gigas na sua memoria ram? Não você pode colocar um outro servidor e colocar 8GB de memoria ram nele ai vc faz o sharding na sua memoria ram onde ele vai dividir os seus dados que estão sobrando no seu servidor ele quebra entre outros servidores. Quando você tiver esse cluster de sharding pq é muito melhor pq vc divide seus dados você pode fazer uma busca na completude dos seus dados em cada pai: como um Torrent você vai receber uma parte de cada servidor diferente e vai jogar num só que é o Mongo Router. Gridfs = BLOOB
  4.  N:N podem ser traduzida para o MongoDb na forma de um array com os valores agregados diretamente no documento 
  5. MongoDb não possui JOINS e o forte dele é sua velocidade na busca, quanto mais dados agregados serem entregues em uma única query mais performático seu sistema será.
  6. ERRO QUANDO VOCE AINDA NÃO TEM O SERVIÇO INSTALADO
  7. Pra solucionar você tem que rodar em um cmd o comando Mongod
  8. Pronto agora sim em um cmd rodando o comando mongod no outro vc roda o comando mongo que ira te dar acesso ao mongo shell
  9. 1 -Executar comando use Nomedatabase 2 – showdbs novamente ele não vai mostrar 3 – Explicar que o banco só é criado de fato quando inserimos alguma coisa em uma collection., 4 – explicar variável DB.db. 5 – Insert, explicar o tempo que demora para inserir primeiro registro. Mostrar a tabela na pasta c data db 6 – explicar system index que guarda os index das coleções do teste 7 – Demonstrar SchemaLess. 8 – Mostrar db.nomeColecao.find().pretty(); 9-Explicar ObjectID: _ID é gerado sempre automaticamente no mongodb nao temos autoIncremento, no mongodb cada json tem um identificador universal unico(Universally unique identifier UUID) ObjectId is a 12-byte BSON type, constructed using: a 4-byte TimeStamp gerado a 3-byte identificador da sua maquina a 2-byte id do processo a 3-byte Contador randomico exadecimal
  10. http://christiano.me/como-validar-documentos-no-mongodb/ db.createCollection( “NewGeneration", { validator: { $and: [ { campo1: { $type: "string" } }, { campo2: { $in: [ “Arroz", “Feijão", “Macarrão", “Banana" ] } }, { campo3{ $in: [ “Tranquilo", “Favorável", “BaileDeFavela" ] } }, { campo4: { $gte: 1992} } ] } } )
  11. var query = db.teste.findOne() query.idade = 23 db.teste.save(query)
  12. Avisar que não existe findLast db.teste.find({nome:{$regex: /a/}})
  13. Como não usamos uma linguagem de query como SQL utilizaos objetos JSON para passar como parâmetros para funções. Então ><= se transformaram em literais db.teste.find({idade:{$ne:14}}).pretty()
  14. Fazer um teste adicionando um array com alguns valores explicar o in e o notin Ex: db.teste.find({tags : {$in: ['teste','oka']}}).pretty() { "_id" : ObjectId("5605893fa3a64169cc4622d2"), "nome" : "TJ", "idade" : 24, "tags" : [ "teste", "ok" ]
  15. db.teste.find({$or:[{nome:"a"}, {idade: {$gte:10}}]}).pretty()
  16. db.coleção.update( {editor:{$in:[/a/]}} , {preco:19}, { upsert: true, multi: false })
  17. db.teste.find({details:{model:'14Q2','manufacturer' : 'XYZ Company'}}).pretty() db.teste.find( { 'stock.0.size': 'L' } ).pretty() db.createCollection( "contacts", { validator: { $or: [ { phone: { $type: "string" } }, { email: { $regex: /@mongodb\.com$/ } }, { status: { $in: [ "Unknown", "Incomplete" ] } } ] } } )