Puede reemplazar un documento en una colección utilizando el método ReplaceOne().
Ejemplo
Tip
Lee los Ejemplos de uso para aprender cómo ejecutar este ejemplo.
Este ejemplo utiliza la siguiente Restaurant estructura como modelo para los documentos de la colección 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"` }
La omitempty etiqueta struct omite el campo correspondiente del documento insertado cuando se deja vacío.
Este ejemplo realiza las siguientes acciones en la colección restaurants:
Coincide con un documento en el que el
namees "Madame Vo"Reemplaza el documento coincidente por uno nuevo
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) }
Resultado esperado
Después de ejecutar el ejemplo completo, puedes encontrar el siguiente documento reemplazado en la colección restaurants:
{ "_id" : ObjectId("..."), "name" : "Monsieur Vo", "cuisine" : "Asian Fusion" }
Para ver un ejemplo sobre cómo encontrar un documento, consulta el ejemplo de uso Encontrar un documento.
Información Adicional
Para aprender más sobre cómo reemplazar documentos, especificar filtros de query y manejar errores potenciales, consulta Modificar documentos.