Ho il seguente oggetto nel mio database mongo chiamato musica.
voglio aggiornare in cui il genere è Grunge
Il nome della band è il Nirvana
Il nome dell'album è Nevermind
L'ordine pista è 1
MongoDB Aggiornamento Deep Array
e cambiare il nome della traccia a "Smells Like Teen Spirit !".
Ho provato a giocare con l'operatore posizionale, ma non riesco proprio a capire questo .
{
genre : "Grunge",
bands : [ {
name : "Nirvana",
albums : [ {
name : "Nevermind",
tracks : [ {
name : "Smell Like Teen Spirit",
order : 1,
duration : 301
},
{
name : "In Bloom",
order : 2,
duration : 254
} ]
},
{
name : "In Utero",
tracks : [ {
name : "Server the Servants",
order : 1,
duration : 216
},
{
name : "Scentless Apprentice",
order : 2,
duration : 254
} ]
} ]
},
{
name : "Karma++ : A Nirvina Tribute Band",
albums : [ {
name : "Nevermind",
tracks : [ {
name : "Smell Like Teen Spirit",
order : 1,
duration : 301
},
{
name : "In Bloom",
order : 2,
duration : 254
} ]
},
{
name : "In Utero",
tracks : [ {
name : "Server the Servants",
order : 1,
duration : 216
},
{
name : "Scentless Apprentice",
order : 2,
duration : 254
} ]
} ]
} ]
}
Hai mai pensato di modificare un po 'il design del tuo DB? Avrebbe forse più senso se il tuo documento fosse una "band" con un attributo "genere" - e renderebbe molto più semplice anche questa particolare query. – Russell
Questo è stato solo l'esempio più veloce a cui potessi pensare. Se dovessi effettivamente creare un database "musicale", probabilmente impostarei le canzoni come elemento principale con artisti, album e generi come array; tenendo conto di cose come "Under Pressure" di David Bowie/Queen (2 artisti, più album). – JWally