Puede reemplazar un documento en una colección usando el ReplaceOne()
.
Ejemplo
Tip
Lea la 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.