code: 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)
  }
docs: // Scan read a value from a database driver