Menu Docs
Página inicial do Docs
/ / /
Driver GO
/ /

Substituir um documento

Você pode substituir um documento em uma collection usando o método ReplaceOne() .

Dica

Leia osExemplos de uso de para saber como executar esse exemplo.

Este exemplo utiliza a seguinte estrutura Restaurant como um modelo para documentos na collection restaurants:

type Restaurant struct {
Name string
RestaurantId string `bson:"restaurant_id,omitempty"`
Cuisine string `bson:"cuisine,omitempty"`
Address interface{} `bson:"address,omitempty"`
Borough string `bson:"borough,omitempty"`
Grades []interface{} `bson:"grades,omitempty"`
}

A tag struct omitempty omite o campo correspondente do documento inserido quando deixado vazio.

Este exemplo executa as seguintes ações na coleção restaurants:

  • Corresponde a um documento no qual name é "Madame Vo"

  • Substitui o documento correspondente por um novo documento

coll := client.Database("sample_restaurants").Collection("restaurants")
filter := bson.D{{"name", "Madame Vo"}}
// Creates a new document containing "Name" and "Cuisine" fields
replacement := Restaurant{Name: "Monsieur Vo", Cuisine: "Asian Fusion"}
// Replaces the first document that matches the filter with a new document
result, err := coll.ReplaceOne(context.TODO(), filter, replacement)
if err != nil {
panic(err)
}

Veja um exemplo totalmente executável

Após executar o exemplo completo, você pode encontrar o seguinte documento substituído na coleção restaurants:

{
"_id" : ObjectId("..."),
"name" : "Monsieur Vo",
"cuisine" : "Asian Fusion"
}

Para ver um exemplo de como localizar um documento, consulte o exemplo de uso do Encontrar um documento.

Para saber mais sobre como substituir documentos, especificar filtros de query e lidar com possíveis erros, consulte Modificar documentos.

ReplaceOne()

Voltar

Atualizar vários documentos