当使用 IncompleteKey 创建实体以便每条记录本质上都是唯一的时,将键添加回记录以便它可以在结构中传递的最佳方法是什么 - 在创建时?
例如,使用事务这样的(未经测试的代码)是个好主意吗?
err = datastore.RunInTransaction(c, func(c appengine.Context) error {
incompleteKey := datastore.NewIncompleteKey(c, ENTITY_TYPE, nil)
entityKey, err := datastore.Put(c, incompleteKey, &MyStruct)
if(err != nil) {
return err
}
MyStruct.SelfID = entityKey.IntID()
_, err = datastore.Put(c, entityKey, &MyStruct)
return err
}, nil)
作为后续 - 我猜这应该几乎永远不会失败,因为它几乎永远不会在同一个不完整键上运行?
函数式编程
相关分类