MongoDB: Exercícios de CRUD e Consultas em Coleção de Receitas

Classificado em Ciências Sociais

Escrito em em português com um tamanho de 4,33 KB

Estrutura Inicial e Inserção de Documentos

01) Crie uma base de dados com nome cardápio e uma coleção chamada receitas. Depois, crie 2 documentos com as receitas abaixo, enumerando nome do item, a medida e modo de preparo. Acrescente outros atributos se achar necessário.

  1. Leite com Chocolate: 2 colheres de sobremesa de açúcar, 1 copo de leite, 2 colheres de sopa de achocolatado. Misture todos os itens e bata-os rapidamente.
  2. Crepeoca: 3 ovos, 2 colheres de sopa de goma de tapioca, 1 pitada de sal, Queijo em tiras. Misture os ovos, goma e sal. Leve a mistura ao fogo numa frigideira e jogue o queijo por cima. Deixe dourar e vire a crepeoca para dourar do outro lado. (Salve Item: Ovo, Quantidade: 3)

Comandos de Criação e Inserção

use cardápio

db.receitas.insert({
    "Título": "Leite com Chocolate", 
    "Açúcar": "2 colheres de sobremesa", 
    "Leite": "1 copo", 
    "Achocolatado": "2 colheres de sopa", 
    "Modo de preparar": "Misture todos os itens e bata-os rapidamente"
})

db.receitas.insert({
    "Título": "Crepeoca", 
    "Item": "Ovo", 
    "Quantidade": 3, 
    "Goma de tapioca": "2 colheres de sopa", 
    "Sal": "1 pitada", 
    "Queijo": "em tiras", 
    "Modo de preparar": "Misture os ovos, goma e sal. Leve a mistura ao fogo numa frigideira e jogue o queijo por cima. Deixe dourar e vire a crepeoca para dourar do outro lado"
})

Consultas Básicas

02) Escreva os comandos para visualizar a coleção e também para ver todos os documentos.

show collections
db.receitas.find()

03) Escreva a linha de comando que localiza o primeiro documento que tem quantidade maior do que 1 de qualquer item, sem mostrar o _id.

db.receitas.findOne({"Quantidade":{$gt:1}},{_id:0})

04) Ache os documentos que contenham receitas que levam 2 colheres de sobremesa de açúcar OU o Item Ovo.

db.receitas.find({
    $or:[
        {"Açúcar": "2 colheres de sobremesa"},
        {"Item": "Ovo"}
    ]
})

06) Exiba as receitas que possuem qualquer quantidade maior do que 1, E que levem 2 colheres de sopa de achocolatado OU 1 pitada de sal, sem mostrar o id dos documentos.

db.receitas.find({
    "Quantidade": {$gt:1},
    $or:[
        {"Achocolatado": "2 colheres de sopa"},
        {"Sal": "1 pitada"}
    ]
}, {_id:0}).pretty()

Inserção Múltipla e Consultas Avançadas

07) Escreva o código para inserir mais duas receitas à sua coleção, sendo que ambas devem ser adicionadas no mesmo comando:

  1. Miojo: 1 pote de Miojo, 300ml de água.
  2. Omelete: 3 ovos, 2 colheres de sopa de farinha de trigo, sal a gosto, opcionais: [orégano, queijo ralado, páprica, tomates picados]. Misture os ovos com o trigo e o sal e bata bem. Leve ao fogo e acrescente os outros ingredientes que desejar até a massa dourar.

Comando de Inserção Múltipla

db.receitas.insert([
    {
        "Título": "Miojo",
        "Miojo": "1 pote",
        "Água": "300ml",
        "Modo de preparar": "Coloque no micro-ondas por 3 minutos"
    },
    {
        "Título": "Omelete",
        "Item": "Ovo",
        "Quantidade": 3,
        "Farinha de trigo": "2 colheres de sopa",
        "Sal": "a gosto",
        "Opcionais": ["orégano", "queijo ralado", "páprica", "tomates picados"],
        "Modo de preparar": "Misture os ovos com o trigo e o sal e bata bem. Leve ao fogo e acrescente os outros ingredientes que desejar até a massa dourar"
    }
])

08) Escreva o comando que exibe de forma organizada todas as receitas que têm o Item Ovo OU 2 colheres de sopa de farinha de trigo, sem mostrar o id.

db.receitas.find({
    $or:[
        {"Item": "Ovo"},
        {"Farinha de trigo": "2 colheres de sopa"}
    ]
}, {_id:0}).pretty()

09) Mostre todas as receitas que levam farinha de trigo OU queijo (utilizando $exists).

db.receitas.find({
    $or: [
        {"Farinha de trigo": {$exists: true}},
        {"Queijo": {$exists: true}}
    ]
})

Entradas relacionadas: