1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | func main() {
d := bson.D{bson.DocElem{"name", "bob"}}
fmt.Print(d.Map()["name"])
updateBsonDField(d, "name", "sam")
fmt.Print(d.Map()["name"])
}
func updateBsonDField(d bson.D, name string, value interface{}) error {
for _, field := range d {
if field.Name == name {
field.Value = value
return nil
}
}
return errors.Errorf("field %q not found", name)
}
---- output ----
bobbob
|