Datastore/Go の cannot load field xxxx into a xxx: no such struct field は Goon で回避できる

以下のブログに書いてある通り、
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