MongoDB
INICIANDO COM NOSQL
Agenda
Visão geral sobre bancos de dados
Introdução ao NoSQL
Banco de dados orientado a documento
Introdução ao MongoDB
JSON
Instalação do MongoDB
Primeiros comandos no MogoDB
CRUD
Operadores de Comparação e Lógicos
Exercícios
Operadores de Comparação e Lógicos
Estrutura de controle que segrega itens de acordo com o operador que está usando.
Os operadores de comparação como o próprio nome já diz, verifica dois atributos comparando
seus valores.
Operadores lógicos realizam comparação entre expressões.
Operadores de Comparação e Lógicos
Os operadores de comparação são :
$eq
$gt
$gte
$lt
$lte
$ne
$in
$nin
Operadores de Comparação e Lógicos
Vamos dar uma olhada em nossa collection pessoa
Operadores de Comparação e Lógicos
$eq: Retornas os objetos que tem o valor igual ao especificado.
Sintaxe: {<field> : {$eq: <valor> }
Exemplo: {“age” : {$eq : 20} }
Operadores de Comparação e Lógicos
Ficar escrevendo em uma linha toda a nossa query pode ficar ruim com o tempo.Então, vamos
criar uma variável para receber nossa query de operação
> var query = {“age” : {$eq : 20}}
Operadores de Comparação e Lógicos
$gt: Retornas os objetos que tem o valor maior ao especificado.
Sintaxe: {<field> : {$gt: <valor> }
Exemplo: {“age” : {$gt : 20} }
Operadores de Comparação e Lógicos
$gte: Retornas os objetos que tem o valor maior ou igual ao especificado.
Sintaxe: {<field> : {$gte: <valor> }
Exemplo: {“age” : {$gte : 20} }
Operadores de Comparação e Lógicos
$lt: Retornas os objetos que tem o valor menor que ao especificado.
Sintaxe: {<field> : {$lt: <valor> }
Exemplo: {“age” : {$lt : 20} }
Operadores de Comparação e Lógicos
$lte: Retornas os objetos que tem o valor menor igual que ao especificado.
Sintaxe: {<field> : {$lte: <valor> }
Exemplo: {“age” : {$lte : 20} }
Operadores de Comparação e Lógicos
$ne: Retornas os objetos com valor diferentes ao especificado.
Sintaxe: {<field> : {$ne: <valor> }
Exemplo: {“age” : {$ne : 28} }
Operadores de Comparação e Lógicos
$ne: Retornas os objetos que tem o valor dentre os especificados no array.
Sintaxe: {<field> : {$in: [valor, valor1] }
Exemplo: {“age” : {$in : [28,20]} }
Operadores de Comparação e Lógicos
$nin: Retornas os objetos que não tem o valor dentre os especificados no array.
Sintaxe: {<field> : {$nin: [valor, valor1]}
Exemplo: {“age” : {$in : [28,20]} }
Hora de praticar
Operadores de Comparação e Lógicos
Adicione cinco novas pessoas.
Busque todas as pessoas com idade maior que 30
Busque todas as pessoas com idade menor ou igual a 30
Busque todas as pessoas com idade menor que 23
Busque todas as pessoas com idades iguais a 20, 21, 22, 23, 24,25
Operadores de Comparação e Lógicos
Os operadores lógicos são :
$or
$and
$not
$nor
$exists
$text
Operadores de Comparação e Lógicos
$or: Executa a comparação de duas expressões ou mais e retorna os objetos que cumpram com
ao menos uma destas.
Sintaxe: {$or : [ <expressao1>, <expressao2>, <expressao3>]}
Exemplo: {$or : [
{“name” : {$eq : “Gabriel Alves Scavassa”} } ,
{“name” : {$eq : “João Paulo”} }
]}
Operadores de Comparação e Lógicos
$or: Executa a comparação de duas expressões ou mais e retorna os objetos que cumpram com
ao menos uma destas.
Operadores de Comparação e Lógicos
$and: Executa a comparação de duas expressões ou mais e retorna os objetos que cumpram
com todas elas.
Sintaxe: {$and : [ <expressao1>, <expressao2>, <expressao3> ]}
Exemplo: {$and : [
{“name” : {$eq : “Gabriel Alves Scavassa”} } ,
{“age” : {$eq :28 }}
]}
Operadores de Comparação e Lógicos
$and: Executa a comparação de duas expressões ou mais e retorna os objetos que cumpram
com todas elas.
Operadores de Comparação e Lógicos
$not: Retorna os objetos que não compreendem as expressões.
Sintaxe: {<field>: { $not : {<operator> : <valor>} } }
Exemplo: {“age”: { $not : {$gte : 20} } }
Operadores de Comparação e Lógicos
$nor: Retornas todos os objetos que não estão de acordo com as expressões no array.
Sintaxe: { $nor : [{expressão}, {expressão1} ] }
Exemplo: {$nor : [ { "age" : 20}, {"age" : 28} ] }
Operadores de Comparação e Lógicos
$exists: Junta clausulas e retornas todos os documentos que não estão de acordo com .
Sintaxe: { <field>: { $exists : < true || false> } }
Exemplo: {city: { $exists : true} }
Operadores de Comparação e Lógicos
$text: Realiza busca textual no campo especificado.
Sintaxe: { $text: { $search: "coffee" } }
Exemplo: {$text: { $search : ‘Gabriel’} }
Operadores de Comparação e Lógicos
Para o comando de pesquisa por texto, nós precisamos criar um index com o campo de texto que
faremos a pesquisa.
Sintaxe: db.pessoas.createindex( { name : “text” } )
Operadores de Comparação e Lógicos
$text: Realiza busca textual no campo especificado.
Sintaxe: { $text: { $search: "coffee" } }
Exemplo: { $text: { $search : ‘Gabriel’} }
Operadores de Comparação e Lógicos
Para buscar partes de uma palavre, usaremos o próprio find().
> db.pessoas.find({"name" : /G/})
Fazemos o pipe para separar a letra. Por padrão está como Case Sensitive.
.
Operadores de Comparação e Lógicos
> db.pessoas.find( { “name” : /G/i})
Assim tornamos a pesquisa como Case Insensitive.
Contatos
gabriel.scavassa@outlook.com
@g_scavassa
/j-ew-s
Obrigado !
SlideShare.net/gscavassa

#6 Operadores de Comparação e Lógicos no MongoDB

  • 1.
  • 2.
    Agenda Visão geral sobrebancos de dados Introdução ao NoSQL Banco de dados orientado a documento Introdução ao MongoDB JSON Instalação do MongoDB Primeiros comandos no MogoDB CRUD Operadores de Comparação e Lógicos Exercícios
  • 3.
    Operadores de Comparaçãoe Lógicos Estrutura de controle que segrega itens de acordo com o operador que está usando. Os operadores de comparação como o próprio nome já diz, verifica dois atributos comparando seus valores. Operadores lógicos realizam comparação entre expressões.
  • 4.
    Operadores de Comparaçãoe Lógicos Os operadores de comparação são : $eq $gt $gte $lt $lte $ne $in $nin
  • 5.
    Operadores de Comparaçãoe Lógicos Vamos dar uma olhada em nossa collection pessoa
  • 6.
    Operadores de Comparaçãoe Lógicos $eq: Retornas os objetos que tem o valor igual ao especificado. Sintaxe: {<field> : {$eq: <valor> } Exemplo: {“age” : {$eq : 20} }
  • 7.
    Operadores de Comparaçãoe Lógicos Ficar escrevendo em uma linha toda a nossa query pode ficar ruim com o tempo.Então, vamos criar uma variável para receber nossa query de operação > var query = {“age” : {$eq : 20}}
  • 8.
    Operadores de Comparaçãoe Lógicos $gt: Retornas os objetos que tem o valor maior ao especificado. Sintaxe: {<field> : {$gt: <valor> } Exemplo: {“age” : {$gt : 20} }
  • 9.
    Operadores de Comparaçãoe Lógicos $gte: Retornas os objetos que tem o valor maior ou igual ao especificado. Sintaxe: {<field> : {$gte: <valor> } Exemplo: {“age” : {$gte : 20} }
  • 10.
    Operadores de Comparaçãoe Lógicos $lt: Retornas os objetos que tem o valor menor que ao especificado. Sintaxe: {<field> : {$lt: <valor> } Exemplo: {“age” : {$lt : 20} }
  • 11.
    Operadores de Comparaçãoe Lógicos $lte: Retornas os objetos que tem o valor menor igual que ao especificado. Sintaxe: {<field> : {$lte: <valor> } Exemplo: {“age” : {$lte : 20} }
  • 12.
    Operadores de Comparaçãoe Lógicos $ne: Retornas os objetos com valor diferentes ao especificado. Sintaxe: {<field> : {$ne: <valor> } Exemplo: {“age” : {$ne : 28} }
  • 13.
    Operadores de Comparaçãoe Lógicos $ne: Retornas os objetos que tem o valor dentre os especificados no array. Sintaxe: {<field> : {$in: [valor, valor1] } Exemplo: {“age” : {$in : [28,20]} }
  • 14.
    Operadores de Comparaçãoe Lógicos $nin: Retornas os objetos que não tem o valor dentre os especificados no array. Sintaxe: {<field> : {$nin: [valor, valor1]} Exemplo: {“age” : {$in : [28,20]} }
  • 15.
  • 16.
    Operadores de Comparaçãoe Lógicos Adicione cinco novas pessoas. Busque todas as pessoas com idade maior que 30 Busque todas as pessoas com idade menor ou igual a 30 Busque todas as pessoas com idade menor que 23 Busque todas as pessoas com idades iguais a 20, 21, 22, 23, 24,25
  • 17.
    Operadores de Comparaçãoe Lógicos Os operadores lógicos são : $or $and $not $nor $exists $text
  • 18.
    Operadores de Comparaçãoe Lógicos $or: Executa a comparação de duas expressões ou mais e retorna os objetos que cumpram com ao menos uma destas. Sintaxe: {$or : [ <expressao1>, <expressao2>, <expressao3>]} Exemplo: {$or : [ {“name” : {$eq : “Gabriel Alves Scavassa”} } , {“name” : {$eq : “João Paulo”} } ]}
  • 19.
    Operadores de Comparaçãoe Lógicos $or: Executa a comparação de duas expressões ou mais e retorna os objetos que cumpram com ao menos uma destas.
  • 20.
    Operadores de Comparaçãoe Lógicos $and: Executa a comparação de duas expressões ou mais e retorna os objetos que cumpram com todas elas. Sintaxe: {$and : [ <expressao1>, <expressao2>, <expressao3> ]} Exemplo: {$and : [ {“name” : {$eq : “Gabriel Alves Scavassa”} } , {“age” : {$eq :28 }} ]}
  • 21.
    Operadores de Comparaçãoe Lógicos $and: Executa a comparação de duas expressões ou mais e retorna os objetos que cumpram com todas elas.
  • 22.
    Operadores de Comparaçãoe Lógicos $not: Retorna os objetos que não compreendem as expressões. Sintaxe: {<field>: { $not : {<operator> : <valor>} } } Exemplo: {“age”: { $not : {$gte : 20} } }
  • 23.
    Operadores de Comparaçãoe Lógicos $nor: Retornas todos os objetos que não estão de acordo com as expressões no array. Sintaxe: { $nor : [{expressão}, {expressão1} ] } Exemplo: {$nor : [ { "age" : 20}, {"age" : 28} ] }
  • 24.
    Operadores de Comparaçãoe Lógicos $exists: Junta clausulas e retornas todos os documentos que não estão de acordo com . Sintaxe: { <field>: { $exists : < true || false> } } Exemplo: {city: { $exists : true} }
  • 25.
    Operadores de Comparaçãoe Lógicos $text: Realiza busca textual no campo especificado. Sintaxe: { $text: { $search: "coffee" } } Exemplo: {$text: { $search : ‘Gabriel’} }
  • 26.
    Operadores de Comparaçãoe Lógicos Para o comando de pesquisa por texto, nós precisamos criar um index com o campo de texto que faremos a pesquisa. Sintaxe: db.pessoas.createindex( { name : “text” } )
  • 27.
    Operadores de Comparaçãoe Lógicos $text: Realiza busca textual no campo especificado. Sintaxe: { $text: { $search: "coffee" } } Exemplo: { $text: { $search : ‘Gabriel’} }
  • 28.
    Operadores de Comparaçãoe Lógicos Para buscar partes de uma palavre, usaremos o próprio find(). > db.pessoas.find({"name" : /G/}) Fazemos o pipe para separar a letra. Por padrão está como Case Sensitive. .
  • 29.
    Operadores de Comparaçãoe Lógicos > db.pessoas.find( { “name” : /G/i}) Assim tornamos a pesquisa como Case Insensitive.
  • 30.