Atualizar vários documentos
Você pode atualizar vários documentos usando o arquivo collection.updateMany() método. O método updateMany()
aceita um documento de filtro e um documento de atualização. Se a query corresponder aos documentos na coleção, o método aplicará as atualizações do documento de atualização aos campos e valores dos documentos correspondentes. O documento de atualização exige que um operador de atualização modifique um campo em um documento.
Você pode especificar opções adicionais no objeto options
passado no terceiro parâmetro do método updateMany()
. Para obter informações mais detalhadas, consulte a documentação da API updateMany().
Exemplo
Observação
Você pode utilizar este exemplo para se conectar a uma instância do MongoDB e interagir com um banco de dados que contém dados de amostra. Para saber mais sobre como se conectar à sua instância do MongoDB e carregar um conjunto de dados de amostra, consulte o guia Exemplos de uso.
1 import { MongoClient } from "mongodb"; 2 3 // Replace the uri string with your MongoDB deployment's connection string. 4 const uri = "<connection string uri>"; 5 6 const client = new MongoClient(uri); 7 8 async function run() { 9 try { 10 const database = client.db("sample_mflix"); 11 const movies = database.collection("movies"); 12 13 // create a filter to update all movies with a 'G' rating 14 const filter = { rated: "G" }; 15 16 // increment every document matching the filter with 2 more comments 17 const updateDoc = { 18 $set: { 19 random_review: `After viewing I am ${ 20 100 * Math.random() 21 }% more satisfied with life.`, 22 }, 23 }; 24 const result = await movies.updateMany(filter, updateDoc); 25 console.log(`Updated ${result.modifiedCount} documents`); 26 } finally { 27 await client.close(); 28 } 29 } 30 run().catch(console.dir);
1 import { MongoClient } from "mongodb"; 2 3 // Replace the uri string with your MongoDB deployment's connection string. 4 const uri = "<connection string uri>"; 5 6 const client = new MongoClient(uri); 7 8 enum Rating { 9 G = "G", 10 PG = "PG", 11 PG_13 = "PG-13", 12 R = "R", 13 NR = "NOT RATED", 14 } 15 16 interface Movie { 17 rated: Rating; 18 random_review?: string; 19 } 20 21 async function run() { 22 try { 23 const database = client.db("sample_mflix"); 24 const movies = database.collection<Movie>("movies"); 25 const result = await movies.updateMany( 26 { rated: Rating.G }, 27 { 28 $set: { 29 random_review: `After viewing I am ${ 30 100 * Math.random() 31 }% more satisfied with life.`, 32 }, 33 } 34 ); 35 console.log(`Updated ${result.modifiedCount} documents`); 36 } finally { 37 await client.close(); 38 } 39 } 40 run().catch(console.dir);
Se você executar o exemplo anterior, verá a seguinte saída:
Updated 477 documents