GAE Go 数据存储 - 忽略一些变量?

The*_*chu 2 database google-app-engine go data-structures google-cloud-datastore

假设我首先将此结构保存到数据存储中:

type Foo struct {
    Important string
    NotImportant string
}
Run Code Online (Sandbox Code Playgroud)

但后来我决定我不再关心它NotImportant了,想停止支持它。问题是,我的数据存储已经填充了数据,我不能只是删除它并用更新的结构替换整个数据库。我知道可以创建自定义的 Load 和 Save 方法,例如Load(c <-chan datastore.Property) error {,但这需要在大型结构上付出很多努力。

是否有一些简单的方法可以告诉 Google App Engine Go 数据存储区在保存时忽略某些变量,而不是抱怨我正在加载数据的结构没有我不再关心的变量?

Mar*_*wan 7

你可以这样做

if err != nil && err != err.(*datastore.ErrFieldMismatch) {         
}
Run Code Online (Sandbox Code Playgroud)