O documento apresenta uma introdução ao MongoDB, incluindo uma visão geral de bancos de dados, NoSQL e bancos de dados orientados a documentos. Ele descreve os principais operadores de comparação e lógicos no MongoDB, como $eq, $gt, $or e $text, e fornece exemplos de seu uso.
2. 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
3. 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.
4. Operadores de Comparação e Lógicos
Os operadores de comparação são :
$eq
$gt
$gte
$lt
$lte
$ne
$in
$nin
6. 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} }
7. 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}}
8. 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} }
9. 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} }
10. 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} }
11. 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} }
12. Operadores de Comparação e Lógicos
$ne: Retornas os objetos com valor diferentes ao especificado.
Sintaxe: {<field> : {$ne: <valor> }
Exemplo: {“age” : {$ne : 28} }
13. 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]} }
14. 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]} }
16. 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
18. 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”} }
]}
19. 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.
20. 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 }}
]}
21. 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.
22. 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} } }
23. 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} ] }
24. 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} }
25. Operadores de Comparação e Lógicos
$text: Realiza busca textual no campo especificado.
Sintaxe: { $text: { $search: "coffee" } }
Exemplo: {$text: { $search : ‘Gabriel’} }
26. 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” } )
27. Operadores de Comparação e Lógicos
$text: Realiza busca textual no campo especificado.
Sintaxe: { $text: { $search: "coffee" } }
Exemplo: { $text: { $search : ‘Gabriel’} }
28. 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.
.
29. Operadores de Comparação e Lógicos
> db.pessoas.find( { “name” : /G/i})
Assim tornamos a pesquisa como Case Insensitive.