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" } })

Entradas relacionadas: