diff --git a/backend/mongodb/mongodb_aggregation/README.md b/backend/mongodb/mongodb_aggregation/README.md index 1c7e93b..7ba89c2 100644 --- a/backend/mongodb/mongodb_aggregation/README.md +++ b/backend/mongodb/mongodb_aggregation/README.md @@ -22,6 +22,20 @@ - [$abs](#abs) - [$multiply](#multiply) - [$divide](#divide) + - [Operadores Comparativos](#operadores-comparativos) + - [$lt](#lt) + - [$lte](#lte) + - [$gt](#gt) + - [$gte](#gte) + - [$eq](#eq) + - [$ne](#ne) + - [$in](#in) + - [$nin](#nin) + - [Operadores Lógicos](#operadores-lógicos) + - [$not](#not) + - [$or](#or) + - [$nor](#nor) + - [$and](#and) --- @@ -572,3 +586,455 @@ db.employees.aggregate([ [Voltar para Sumário](#sumário) --- + +## Operadores Comparativos + +### $lt + + - **Lower Than** - Seleciona documentos cujo valor do campo especificado é **menor que** o valor especificado + +**Template** + +``` +db.collection.find([ + { + { + : { $lt: }, + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.vendas.find([ + { + { + valor: { $lt: 100.00 }, + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/lt/) + +[Voltar para Sumário](#sumário) + +--- + +### $lte + + - **Lower Than or Equal** - Seleciona documentos cujo valor do campo especificado é **menor ou igual que** o valor especificado + +**Template** + +``` +db.collection.find([ + { + { + : { $lte: }, + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.vendas.find([ + { + { + qtd: { $lte: 120 }, + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/lte/) + +[Voltar para Sumário](#sumário) + +--- + +### $gt + + - **Greater Than** - Seleciona documentos cujo valor do campo especificado é **maior que** o valor especificado + +**Template** + +``` +db.collection.find([ + { + { + : { $gt: }, + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.vendas.find([ + { + { + valor: { $gt: 10.00 }, + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/gt/) + +[Voltar para Sumário](#sumário) + +--- + +### $gte + + - **Greater Than or Equal** - Seleciona documentos cujo valor do campo especificado é **maior ou igual que** o valor especificado + +**Template** + +``` +db.collection.find([ + { + { + : { $gte: }, + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.vendas.find([ + { + { + qtd: { $gte: 10 }, + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/gte/) + +[Voltar para Sumário](#sumário) + +--- + +### $eq + + - **Equal** - Seleciona documentos cujo valor do campo especificado é **igual** ao valor especificado + +**Template** + +``` +db.collection.find([ + { + { + : { $eq: }, + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.consultas.find([ + { + { + medico_id: { $eq: 174 }, + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/eq/) + +[Voltar para Sumário](#sumário) + +--- + +### $ne + + - **Not Equal** - Seleciona documentos cujo valor do campo especificado **não é igual** ao valor especificado + +**Template** + +``` +db.collection.find([ + { + { + : { $ne: }, + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.consultas.find([ + { + { + medico_id: { $ne: 127 }, + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/ne/) + +[Voltar para Sumário](#sumário) + +--- + +### $in + + - **value In** - Seleciona documentos cujo campo especificado **possui valor igual a qualquer valor presente no array** passado para o operador + +**Template** + +``` +db.collection.find([ + { + { + : { $in: [, , ...] }, + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.consultas.find([ + { + { + doenca_id: { $in: [201, 202, 203, 204, 205] }, + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/in/) + +[Voltar para Sumário](#sumário) + +--- + +### $nin + + - **value Not In** - Seleciona documentos cujo campo especificado **possui valor diferente a qualquer valor presente no array** passado para o operador + +**Template** + +``` +db.collection.find([ + { + { + : { $nin: [, , ...] }, + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.consultas.find([ + { + { + sintomas_id: { $nin: [171, 174, 180] }, + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/nin/) + +[Voltar para Sumário](#sumário) + +--- + +## Operadores Lógicos + +### $not + + - **Not** - Executa uma **operação de negação (NÃO)** com o operador ou com a expressão passada como parâmetro. + +**Template** + +``` +db.collection.find([ + { + { + : { $not: { } }, + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.carros.find([ + { + { + marca: { $not: 'Fiat' }, + }, + }, +]); +``` + +```javascript +db.carros.find([ + { + { + valor: { $not: { $gt: 12000.00 } }, + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/not/) + +[Voltar para Sumário](#sumário) + +--- + +### $or + + - **Or** - Executa uma **operação de disjunção (OU)** com os operadores ou as expressões passadas como parâmetros em um array, selecionando os documentos onde alguma das expressões seja verdadeira. + +**Template** + +``` +db.collection.find([ + { + { + $or: [{ }, { }, ...], + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.carros.find([ + { + { + $or: [{ marca: 'Fiat' }, { marca: 'Ford' }], + } + }, +]); +``` + +```javascript +db.carros.find([ + { + { + $or: [{ ano: { $lte: 1980 } }, { ano: 2000 }] , + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/or/) + +[Voltar para Sumário](#sumário) + +--- + +### $nor + + - **Not ... Or ...** - Executa uma **operação de negação (NÃO) conjunta** com os operadores ou as expressões passadas como parâmetros em um array, selecionando os documentos onde todas as expressões falhem. + +**Template** + +``` +db.collection.find([ + { + { + $nor: [{ }, { }, ...], + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.carros.find([ + { + { + $nor: [{ marca: 'Peugeot' }, { nome: 'Marea' }], + } + }, +]); +``` + +```javascript +db.carros.find([ + { + { + $nor: [{ valor: { $gte: 50000.00 } }, { ano: { $lt: 1990 } }] , + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/nor/) + +[Voltar para Sumário](#sumário) + +--- + +### $and + + - **And** - Executa uma **operação de conjunção (E)** com os operadores ou as expressões passadas como parâmetros em um array, selecionando os documentos onde todas as expressões sejam verdadeira. Caso alguma falhe, o MongoDB não avaliará as expressões restantes. + +**Template** + +``` +db.collection.find([ + { + { + $and: [{ }, { }, ...], + }, + }, +]); +``` + +**Exemplo** + +```javascript +db.cidades.find([ + { + { + $and: [{ litoral: true }, { regiao_id: 1 }], + } + }, +]); +``` + +```javascript +db.cidades.find([ + { + { + $and: [{ populacao: { $gte: 1000000 } }, { regiao_id: { $in: [0, 1, 2] } }] , + }, + }, +]); +``` + +[Documentação](https://docs.mongodb.com/manual/reference/operator/query/and/) + +[Voltar para Sumário](#sumário) + +---