sql >> Base de Datos >  >> NoSQL >> MongoDB

Hacer cumplir una asignación de tipo con mgo

Usa el Setter y Getter interfaces para controlar la representación en mongo:

type CustomId bson.ObjectId

func (id *CustomId) SetBSON(raw bson.Raw) error {
   var v bson.ObjectId
   err := raw.Unmarshal(&v)
   *id = CustomId(v)
   return err
}
func (id CustomId) GetBSON() (interface{}, error) {
   return bson.ObjectId(id), nil
}