Puede reemplazar un documento en una colección utilizando el ReplaceOne()
.
Ejemplo
Tip
Lea el Ejemplos de uso para aprender a ejecutar este ejemplo.
Este ejemplo utiliza la siguiente estructura Restaurant 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 de estructura omite el campo correspondiente del documento insertado cuando se deja vacía.
Este ejemplo realiza las siguientes acciones en la colección restaurants:
Coincide con un documento en el que
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) }
Ver una ejemplo completamente ejecutable
Resultado esperado
Después de ejecutar el ejemplo completo, podrá encontrar el siguiente documento reemplazado en la colección restaurants:
{ "_id" : ObjectId("..."), "name" : "Monsieur Vo", "cuisine" : "Asian Fusion" }
Para obtener un ejemplo sobre cómo encontrar un documento, consulte el ejemplo de uso Buscar un documento.
Información Adicional
Para obtener más información sobre cómo reemplazar documentos, especificar filtros de consulta y manejar posibles errores, consulte Modificar documentos.