sql >> Databáze >  >> NoSQL >> MongoDB

Aktualizace MongoDB Deep Array

Bohužel v současné době je možné použít pouze jeden poziční "$" na aktualizaci. Toto omezuje aktualizaci na jedno vložené pole, podobně jako v příkladu v dokumentaci:http://www.mongodb.org/display/DOCS/Updating#Updating-The%24positionaloperator(Z vašeho příspěvku to vypadá, že jste již našel jsem to, ale odkaz jsem zahrnul ve prospěch všech ostatních uživatelů, kteří čtou tento příspěvek.)

Abyste mohli provést aktualizaci, budete muset znát pozici dvou z následujících tří:Pozice kapely v poli „bands“, pozice alba v poli alb nebo pozice skladby. v poli "tracks".

Pro tuto funkci existuje požadavek na funkci a je navržena pro verzi 2.3.0 (ačkoli to se může změnit).
https://jira.mongodb.org/browse/SERVER-831 "Párování pozic Vnořená pole"

Prozatím budete muset znát polohu dílčích dokumentů ve dvou ze tří polí:

db.music.update({genre : "Grunge", "bands.name" : "Nirvana"}, {$set:{"bands.$.albums.0.tracks.0.name":"Smells Like Teen Spirit!"}})

db.music.update({genre : "Grunge", "bands.0.albums.name" : "Nevermind"}, {$set:{"bands.0.albums.$.tracks.0.name":"Smells Like Teen Spirit!"}})

nebo

db.music.update({genre : "Grunge", "bands.0.albums.0.tracks.order" : 1}, {$set:{"bands.0.albums.0.tracks.$.name":"Smells Like Teen Spirit!"}})



  1. Zřetězte řetězcové hodnoty v poli do jednoho pole v MongoDB

  2. Redis Config Set s Node jS

  3. Jak můžete určit pořadí vlastností v objektu javascript pro index MongoDB v node.js?

  4. získání atributů schématu z modelu Mongoose