Realizar operações em massa
Você pode realizar operações de escrita em massa em uma collection usando o método BulkWrite()
.
Exemplo
Dica
Leia os Exemplos de uso para saber como executar esse exemplo.
O exemplo a seguir executa o seguinte em ordem na collection haikus
:
Corresponde a um documento no qual
title
é "Record of a Shrveled Datum" e o substitui por um novo documentoCorresponde a um documento no qual o
title
é "Dodging cinzas" e atualiza esse valor para "Dodge the cinzas"
coll := client.Database("insertDB").Collection("haikus") models := []mongo.WriteModel{ mongo.NewReplaceOneModel().SetFilter(bson.D{{"title", "Record of a Shriveled Datum"}}). SetReplacement(bson.D{{"title", "Dodging Greys"}, {"text", "When there're no matches, no longer need to panic. You can use upsert"}}), mongo.NewUpdateOneModel().SetFilter(bson.D{{"title", "Dodging Greys"}}). SetUpdate(bson.D{{"$set", bson.D{{"title", "Dodge The Greys"}}}}), } opts := options.BulkWrite().SetOrdered(true) results, err := coll.BulkWrite(context.TODO(), models, opts)
Visualizar um exemplo completamente executável
Resultado esperado
Após executar o exemplo completo, você pode encontrar o seguinte documento na collection haikus
:
{ "_id" : ObjectId("..."), "title" : "Dodge The Greys", "text" : "When there're no matches, no longer need to panic. You can use upsert." }
Para obter um exemplo sobre como localizar um documento, consulte Localizar um documento.
Informações adicionais
Para saber mais sobre como executar operações de escrita em massa em uma collection e lidar com possíveis erros, consulte Operações em massa.