以下のブログに書いてある通り、
pospome.hatenablog.com
Datastore は kind の property が struct の field に存在しないと
ErrFieldMismatch というエラーが発生する。
「datastore: cannot load field xxxx into a xxx: no such struct field」のエラーと説明した方が分かりやすいかもしれない。
Datastore を使ったことのある人なら1回は見たことあるはず・・・。
エラーは発生するものの、
存在する filed に対応する property の値は struct へマッピングされるので、
datastore.ErrFieldMismatch をハンドリングして握りつぶしてしまえば、
Datastore の property と struct の field のミスマッチを気にせず処理を続けることができる。
でも、わざわざハンドリングするのはちょっと面倒くさい。
と思っていたが、
Goon は以下の PR が merge されたことで datastore.ErrFieldMismatch を回避することができる。
github.com
デフォルトで回避するようになっているので、
バージョンを上げれば面倒なエラーハンドリングからも開放される。
https://godoc.org/github.com/mjibson/goon#pkg-variables
// IgnoreFieldMismatch decides whether *datastore.ErrFieldMismatch errors // should be silently ignored. This allows you to easily remove fields from structs. IgnoreFieldMismatch = true