Git Product home page Git Product logo

projeto-commerce's Introduction

Boas vindas ao repositório do projeto de MongoDB Commerce!

Projeto desenvolvido no curso da Trybe, turma 9. Requisitos elaborados pela Trybe

Na raiz do diretório do projeto, execute o seguinte comando que fará a restauração da base de dados commerce:

DBNAME=commerce ./scripts/resetdb.sh assets/produtos
  • A execução desse script criará um banco de dados chamado commerce e importará os dados para a coleção produtos.

Requisitos do projeto

1 - Inclua o campo criadoPor em todos os documentos, colocando "Ronald McDonald" no valor desse campo.

Para isso, escreva no arquivo desafio1.js duas queries, nesta ordem:

  1. Crie uma query que adicione o campo criadoPor em todos os documentos, colocando "Ronald McDonald" no valor desse campo.

  2. Crie uma query que retorne o nome e criadoPor de todos os produtos.

2 - Inclua o campo valorUnitario em todos os documentos em que esse campo não existe e atribua a ele o valor "0.00", com o tipo NumberDecimal.

Para isso, escreva no arquivo desafio2.js duas queries, nesta ordem:

  1. Crie uma query que adicione o campo valorUnitario em todos os documentos em que esse campo não existe e atribua a ele o valor "0.00", com o tipo NumberDecimal.

  2. Crie uma query que retorne o nome e valorUnitario de todos os produtos.

3 - Adicione o campo avaliacao em todos os documentos da coleção e efetue alterações nesse campo.

Para isso, escreva no arquivo desafio3.js quatro queries, nesta ordem:

  1. Crie uma query que inclua o campo avaliacao do tipo NumberInt e com o valor 0 em todos os documentos da coleção.

  2. Crie uma query que incremente o valor do campo avaliacao em 5 em todos os sanduíches de carne do tipo bovino. Dica: utilize como filtro o campo tags.

  3. Crie uma query que incremente o valor do campo avaliacao em 3 em todos os sanduíches de ave.

  4. Crie uma query que retorne o nome e avaliacao de todos os sanduíches.

4 - Atribua a data corrente ao campo ultimaModificacao no sanduíche Big Mac.

Para isso, escreva no arquivo desafio4.js duas queries, nesta ordem:

  1. Crie uma query que atribua a data corrente ao campo ultimaModificacao no sanduíche Big Mac. Para a data corrente faça uso do tipo Date.

  2. Crie uma query que retorne o nome de todos os documentos em que o campo ultimaModificacao existe.

5 - Adicione ketchup aos ingredientes para todos os sanduíches menos o McChicken, garantindo que não haja duplicidade nos ingredientes.

Para isso, escreva no arquivo desafio5.js duas queries, nesta ordem:

  1. Crie uma query que adicione ketchup aos ingredientes para todos os sanduíches menos o McChicken, garantindo que não haja duplicidade nos ingredientes.

  2. Crie uma query que retorne o nome e ingredientes de todos os documentos.

6 - Inclua bacon no final da lista de ingredientes dos sanduíches Big Mac e Quarteirão com Queijo.

Para isso, escreva no arquivo desafio6.js duas queries, nesta ordem:

  1. Crie uma query que faça a inclusão de bacon no final da lista de ingredientes dos sanduíches Big Mac e Quarteirão com Queijo.

  2. Crie uma query que retorne o nome e ingredientes de todos os documentos.

7 - Remova o item cebola de todos os sanduíches.

Para isso, escreva no arquivo desafio7.js duas queries, nesta ordem:

  1. Crie uma query que faça a remoção do item cebola em todos os sanduíches.

  2. Crie uma query que retorne o nome e ingredientes de todos os documentos.

8 - Remova o primeiro ingrediente do sanduíche Quarteirão com Queijo.

Para isso, escreva no arquivo desafio8.js duas queries, nesta ordem:

  1. Crie uma query que faça a remoção do primeiro ingrediente no sanduíche Quarteirão com Queijo.

  2. Crie uma query que retorne o nome e ingredientes de todos os documentos.

9 - Remova o último ingrediente do sanduíche Cheddar McMelt.

Para isso, escreva no arquivo desafio9.js duas queries, nesta ordem:

  1. Crie uma query que faça a remoção do último ingrediente no sanduíche Cheddar McMelt.

  2. Crie uma query que retorne o nome e ingredientes de todos os documentos.

10 - Adicione a quantidade de vendas dos sanduíches por dia da semana.

Para isso, escreva no arquivo desafio10.js quatro queries, nesta ordem:

  1. Crie uma query que inclua um array com sete posições em todos os sanduíches. Cada uma delas representará um dia da semana, e cada posição iniciará em 0. O array deve se parecer como abaixo:
    "vendasPorDia": [0, 0, 0, 0, 0, 0, 0]
  • O primeiro item desse array representa as vendas no domingo, o segundo item representa as vendas na segunda-feira, e assim até chegar ao último item, que representa as vendas no sábado.
  1. Crie uma query que incremente as vendas de Big Mac às quartas-feiras em 60.

  2. Crie uma query que incremente as vendas de todos os sanduíches de carne do tipo bovino e pão aos sábados em 120.

  3. Crie uma query que retorne o nome e vendasPorDia de todos os documentos.

11 - Insira os elementos combo e tasty no array tags de todos os sanduíches e aproveite para deixar os elementos em ordem alfabética ascendente.

Para isso, escreva no arquivo desafio11.js duas queries, nesta ordem:

  1. Crie uma query que faça tanto a inserção dos elementos combo e tasty no array tags de todos os sanduíches quanto a ordenação dos elementos de tags em ordem alfabética ascendente.

  2. Crie uma query que retorne o nome e tags de todos os documentos.

12 - Ordene em todos os documentos os elementos do array valoresNutricionais pelo campo percentual de forma descendente.

Para isso, escreva no arquivo desafio12.js duas queries, nesta ordem:

  1. Crie uma query que faça em todos os documentos a ordenação dos elementos do array valoresNutricionais pelo campo percentual de forma descendente. Dica: mesmo sem adicionar nenhum novo elemento, para essa operação é necessário utilizar também o modificador $each.

  2. Crie uma query que retorne o nome e valoresNutricionais de todos os documentos.

13 - Adicione o elemento muito sódio ao final do array tags nos produtos em que o percentual de sódio seja maior ou igual a 40.

Para isso, escreva no arquivo desafio13.js duas queries, nesta ordem:

  1. Crie uma query que faça a adição do elemento muito sódio ao final do array tags nos produtos em que o percentual de sódio seja maior ou igual a 40.

  2. Crie uma query que retorne o nome e tags de todos os documentos.

14 - Adicione o elemento contém sódio ao final do array tags nos produtos em que o percentual de sódio seja maior do que 20 e menor do que 40.

Para isso, escreva no arquivo desafio14.js duas queries, nesta ordem:

  1. Crie uma query que faça a adição do elemento contém sódio ao final do array tags nos produtos em que o percentual de sódio seja maior do que 20 e menor do que 40.

  2. Crie uma query que retorne o nome e tags de todos os documentos.

15 - Conte quantos produtos contêm Mc no nome, sem considerar letras maiúsculas ou minúsculas.

16 - Conte quantos produtos têm 4 ingredientes.

17 - Conte quantos documentos contêm as palavras frango e hamburguer utilizando o operador $text.

Para isso, escreva no arquivo desafio17.js duas queries, nesta ordem:

  1. Crie uma query que faça a criação de um índice do tipo text no campo descricao com o idioma padrão portuguese.

  2. Crie uma query que retorne a quantidade de documentos que contêm as palavras frango e hamburguer utilizando o operador $text.

18 - Conte quantos documentos contêm a expressão feito com utilizando o operador $text.

Para isso, escreva no arquivo desafio18.js duas queries, nesta ordem:

  1. Crie uma query que faça a criação de um índice do tipo text no campo descricao com o idioma padrão portuguese.

  2. Crie uma query que retorne a quantidade de documentos que contêm a expressão feito com utilizando o operador $text.

19 - Renomeie o campo descricao para descricaoSite em todos os documentos.

Para isso, escreva no arquivo desafio19.js duas queries, nesta ordem:

  1. Crie uma query que faça a renomeação do campo descricao para descricaoSite em todos os documentos.

  2. Crie uma query que retorne o nome, descricao e descricaoSite de todos os documentos.

20 - Remova o campo curtidas do item Big Mac.

Para isso, escreva no arquivo desafio20.js duas queries, nesta ordem:

  1. Crie uma query que faça a remoção do campo curtidas do item Big Mac.

  2. Crie uma query que retorne o nome e curtidas de todos os documentos.

21 - Retorne o nome dos sanduíches em que o número de curtidas é maior que o número de sanduíches vendidos.

22 - Retorne o nome e a quantidade de vendas (vendidos) dos sanduíches em que o número de vendas é múltiplo de 5.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.