bson.go
func (id *ObjectId) Scan(raw interface{}) error {
	var data []byte
	switch v := raw.(type) {
	case []byte:
		data = v
	case string:
		data = []byte(v)
	default:
		return fmt.Errorf("cannot sql.Scan() strfmt.URI from: %#v", v)
	}

	return id.UnmarshalText(data)
}
func (id *ObjectId) Scan(raw interface{}) error {
	var data []byte
	switch v := raw.(type) {
	case []byte:
		data = v
	case string:
		data = []byte(v)
	default:
		return fmt.Errorf("cannot sql.Scan() strfmt.URI from: %#v", v)
	}

	return id.UnmarshalText(data)
}
func ( id * ObjectId ) Scan ( raw interface { } ) error { var data [ ] byte switch v := raw . ( type ) { case [ ] byte : data = v case string : data = [ ] byte ( v ) default : return fmt . Errorf ( " " , v ) } return id . UnmarshalText ( data ) }
// Scan read a value from a database driver
Scan read a value from a database driver