Condividi
Come aggiornare più documenti con un solo comando in MongoDB?
Lanciando questo comando di update in MongoDB il risultato è che aggiorna un solo documento
> db.test.save({"_id":1, "foo":"bar"});
> db.test.save({"_id":2, "foo":"bar"});
> db.test.update({"foo":"bar"}, {"$set":{"test":"success!"}});
> db.test.find({"test":"success!"}).count();
1
Come faccio a cilclare l'istruzione update per aggiornare tutti i documenti? O meglio, esiste un comando, una istruzione che in MongoDB consenta di aggiornare tutti i documenti in una sola volta?
In Corso
4
MongoDB
06-06-2018
2 Risposte
787 Visite
0
Risposte ( 2 approvate )
A partire dalla versione 2.2 e successive di MongoDB per effettuare degli update multipli con una sola istruzione devi usare il paramentro 'multi' e settarlo a true, in questo modo:
Nelle versioni più rencenti esiste il comando updateMany, dalla shell (client) di MongoDB scrivi
come vedi in questo caso non c'è bisogno di passare il parametro 'multi', così l'istruzione di update multiplo dei documenti risulta ancora più pulita e leggibile.