DAM - DAW - MP 0484 Bases de Dades
Carrega la següent Col·lecció i busca la solució a les següents preguntes:
db.llibres.drop()
db.llibres.insertOne(
{
_id: 1,
titol: 'El aleph',
autor: 'Borges',
editorial: ['Siglo XXI','Planeta'],
preu: 20,
quantitat: 50
}
)
db.llibres.insertOne(
{
_id: 2,
titol: 'Martin Fierro',
autor: 'Jose Hernandez',
editorial: ['Siglo XXI'],
preu: 50,
quantitat: 12
}
)
db.llibres.insertOne(
{
_id: 3,
titol: 'Aprenda PHP',
autor: 'Mario Molina',
editorial: ['Siglo XXI','Planeta'],
preu: 50,
quantitat: 20
}
)
db.llibres.insertOne(
{
_id: 4,
titol: 'Java en 10 minutos',
editorial: ['Siglo XXI'],
preu: 45,
quantitat: 1
}
)
Actualitzacions
db.collection.updateOne(query, update, options)
db.collection.updateMany(query, update, options)
-
Modifiquem el preu i la quantitat del llibre d’identificador 1
Possible solució
db.llibres.updateOne( { _id : { $eq:1 }} , { $set : { preu:15, quantitat:1 } } ) db.llibres.find() -
Afegim un camp al llibre que té identificador
4Possible solució
db.llibres.updateOne( {_id: {$eq:4}} , {$set : {descripcio: 'Cada unitat tracta un tema fonamental de Java des de 0.'} } ) db.llibres.find() -
Treiem el camp descripcio al llibre que té identificador
4Possible solució
db.llibres.updateOne( {_id : {$eq:4}} , {$unset : {descripcio:""} } ) db.llibres.find()El valor que hem posat a descripcio no es té en compte
Si hagéssim posat
set valor = ''no hagés desaparegut el camp -
Afegim una editorial al llibre d’identificador
1. editorial` és un camp de tipus arrayPossible solució
db.llibres.updateOne( {_id : {$eq:1}} , {$push : {editorial:'Atlàntida'} } ) db.llibres.find()Amb la comanda
$addToSeten comptes de$push, NO s’afegiran valors repetits -
Per treure un valor de l’array utilitzem $pull
Possible solució
db.llibres.updateMany( {_id : {$eq:1}} , {$pull : {editorial:'Atlàntida'} } ) db.llibres.find() -
Incrementem el preu de tots els llibres en 10€. (
$incen comptes de$set)Possible solució
db.llibres.updateMany( { }, {$inc: { preu : 10 }} ) db.llibres.find() -
Incrementem el preu en un 10% (multipliquem per 1.1)
Possible solució
db.llibres.updateMany( { } , { $mul : { preu: 1.1 } } ) db.llibres.find()