Guia Prático de MongoDB: Consultas e Atualizações
Classificado em Artes e Humanidades
Escrito em em
português com um tamanho de 4,21 KB
Exercícios de Manipulação de Dados em MongoDB
29) Mostre as duas primeiras receitas que levem Miojo ou Bacon:db.receitas.find({ "Item": { $in: [/miojo/i, /bacon/i] } }).limit(2)
30) Pule uma receita e mostre três que levem os itens Miojo, Sal ou Açúcar:db.receitas.find({ "Item": { $in: [/miojo/i, /sal/i, /açúcar/i] } }).limit(3).skip(1)
31) Crie uma nova base de dados 'universidade', com a coleção 'departamentos', contendo os campos: Descrição: Sistemas de Informação; Código: 123; Coordenador: Danicleidiânio; Professores:db.departamentos.insert({ "Descrição": "Sistemas de Informação", "Código": 123, "Coordenador": "Danicleidiânio", "Professores": [{ "Nome": "Samarisanilda", "Titulação": "Doutorado", "Salário": 2000, "DtAdm": "01/01/2001", "Matrícula": 6425, "CgHorária": 20 }, { "Nome": "Rayonildovan", "Titulação": "Mestre", "Salário": 1500, "DtAdm": "02/02/2002", "Matricula": 8451, "CgHorária": 17 }] })
32) Na questão anterior, insira apenas os dois primeiros professores. O terceiro deve ser adicionado via atualização nesta questão:db.departamentos.update({ "Descrição": "Sistemas de Informação" }, { $push: { "Professores": { "Nome": "Romuleniberto", "Titulação": "Doutorado", "Salário": 2500, "DtAdm": "03/03/2003", "Matrícula": 7522, "CgHorária": 23 } } })
33) Usando ainda a base de dados da Universidade, mude a matrícula de Romuleniberto para 7528:db.departamentos.update({ "Descrição": "Sistemas de Informação", "Professores.Nome": "Romuleniberto" }, { $set: { "Professores.$.Matrícula": 7528 } })
34) Acrescente o campo DtNasc: 02/02/1990 nos dados de Rayonildivan:db.departamentos.update({ "Descrição": "Sistemas de Informação", "Professores.Nome": "Rayonildivan" }, { $set: { "Professores.$.DtNasc": "02/02/1990" } })
35) Cadastre { Nome: Argelinodolfo, Titulação: Mestrado, Salário: 1500.00, DtAdm: 04/04/2004, Matrícula: 8014, CgHorária: 18 }:db.departamentos.update({ "Descrição": "Sistemas de Informação" }, { $push: { "Professores": { "Nome": "Argelinodolfo", "Titulação": "Mestrado", "Salário": 1500, "DtAdm": "04/04/2004", "Matrícula": 8014, "CgHorária": 18 } } })
36) Remova apenas a titulação de Argelinodolfo:db.departamentos.update({ "Descrição": "Sistemas de Informação", "Professores.Nome": "Argelinodolfo" }, { $unset: { "Professores.$.Titulação": 1 } })
37) Delete todo o documento com dados de Argelinodolfo:db.departamentos.update({ "Descrição": "Sistemas de Informação" }, { $pull: { "Professores": { "Nome": "Argelinodolfo" } } })
38) Delete o último professor do departamento de Fisioterapia:db.departamentos.update({ "Descrição": "Sistemas de Informação" }, { $pop: { "Professores": 1 } })
39) Insira um novo campo 'Disciplinas' no departamento, com os valores: ['GBD', 'BD1', 'BD2']:db.departamentos.update({ "Descrição": "Sistemas de Informação" }, { $set: { "Disciplinas": ["GBD", "BD1", "BD2"] } })
40) Usando $push, insira a disciplina 'P1' na lista de disciplinas:db.departamentos.update({ "Descrição": "Sistemas de Informação" }, { $push: { "Disciplinas": "P1" } })
41) Remova a disciplina 'BD2' da lista:db.departamentos.update({ "Descrição": "Sistemas de Informação" }, { $pull: { "Disciplinas": "BD2" } })
42) Insira a disciplina 'SI1', garantindo que, se ela já estiver na base de dados, não seja incluída novamente:db.departamentos.update({ "Descrição": "Sistemas de Informação" }, { $addToSet: { "Disciplinas": "SI1" } })
43) Repita o mesmo procedimento da questão anterior, mas inserindo 'BD1':db.departamentos.update({ "Descrição": "Sistemas de Informação" }, { $addToSet: { "Disciplinas": "BD1" } })