草庐IT

datastore_v

全部标签

google-app-engine - Datastore KeysOnly 在 Go 中的定价和实现

我知道KeysOnly查询成本更低,但我想知道我是否正确实现了它。例如,如果我为KeysOnly创建一个GetAll函数(如下所示),我是否仍应初始化用户结构([]User)?funcGetAllUserKeysByFilter(ctxcontext.Context,filters...UserFilter)([]*datastore.Key,error){varusers[]Userquery:=datastore.NewQuery("User").KeysOnly()for_,filter:=rangefilters{iffilter.Age!=0{query=query.Filt

google-app-engine - 创建数据存储的成本。 key : Storing a key in struct versus an id and fetching from the datastore

考虑以下两种选择。A)将key存储在结构中。typePointstruct{Place*datastore.KeyLatfloat64Lonfloat64}然后使用key获取:place:=new(Place)iferr:=datastore.Get(c,k,point.Place);err!=nil{returnerr}B)存储idtypePointstruct{Placeint64Latfloat64Lonfloat64}然后在创建key后获取。k:=datastore.NewKey(c,"Place","",point.Place,nil)place:=new(Place)ife

google-app-engine - 创建数据存储的成本。 key : Storing a key in struct versus an id and fetching from the datastore

考虑以下两种选择。A)将key存储在结构中。typePointstruct{Place*datastore.KeyLatfloat64Lonfloat64}然后使用key获取:place:=new(Place)iferr:=datastore.Get(c,k,point.Place);err!=nil{returnerr}B)存储idtypePointstruct{Placeint64Latfloat64Lonfloat64}然后在创建key后获取。k:=datastore.NewKey(c,"Place","",point.Place,nil)place:=new(Place)ife

google-app-engine - Go App Engine 嵌套对象未存储在 Cloud Datastore 中

我有一个EmergencyCase实体,它有2个嵌入式结构(1个数组和1个结构)当我尝试通过调用保存EmergencyCase时:datastore.Put(c,key,&ec)除Pos字段(类型Position)外,所有内容都存储良好。没有关于此的错误或日志条目。它只是没有存储。有什么建议吗?这是我的3个实体定义:typePositionstruct{lonfloat32latfloat32}typeEmergencyCasestruct{//Autogeneratedid,notstoredinthedatabase.IDstring`datastore:"-"`CreatedAt

google-app-engine - Go App Engine 嵌套对象未存储在 Cloud Datastore 中

我有一个EmergencyCase实体,它有2个嵌入式结构(1个数组和1个结构)当我尝试通过调用保存EmergencyCase时:datastore.Put(c,key,&ec)除Pos字段(类型Position)外,所有内容都存储良好。没有关于此的错误或日志条目。它只是没有存储。有什么建议吗?这是我的3个实体定义:typePositionstruct{lonfloat32latfloat32}typeEmergencyCasestruct{//Autogeneratedid,notstoredinthedatabase.IDstring`datastore:"-"`CreatedAt

google-app-engine - 如何忽略 datastore.Query.GetAll() 中的错误?

我刚开始使用Go运行时开发一个GAE应用程序,到目前为止我很高兴。但是,我遇到了以下挫折:我正在利用数据存储提供的灵active,方法是将多个具有不同属性的不同结构保存为相同的实体名称(“项目”)。Golanguagedatastorereference声明“传递的实际类型不必在Get和Put调用之间匹配,甚至不必在不同的AppEngine请求之间匹配”,因为实体实际上只是一系列属性,因此可以存储在可以支持它们的适当容器类型中.我需要查询存储在实体名称“Item”下的所有实体,并将它们一次性全部编码为JSON。使用实体属性的灵active对我有利,可以将查询的实体存储到任意datast

google-app-engine - 如何忽略 datastore.Query.GetAll() 中的错误?

我刚开始使用Go运行时开发一个GAE应用程序,到目前为止我很高兴。但是,我遇到了以下挫折:我正在利用数据存储提供的灵active,方法是将多个具有不同属性的不同结构保存为相同的实体名称(“项目”)。Golanguagedatastorereference声明“传递的实际类型不必在Get和Put调用之间匹配,甚至不必在不同的AppEngine请求之间匹配”,因为实体实际上只是一系列属性,因此可以存储在可以支持它们的适当容器类型中.我需要查询存储在实体名称“Item”下的所有实体,并将它们一次性全部编码为JSON。使用实体属性的灵active对我有利,可以将查询的实体存储到任意datast

google-app-engine - 为什么在 Go AppEngine aetest 中使用 datastore.Property List 获取 datastore.Put 的 "invalid entity type"?

此测试失败并显示partnermerge_test.go:22:datastore:invalidentitytypepackagebigdipperimport("testing""appengine/aetest""appengine/datastore")funcTestCreateMigrationProposal(t*testing.T){c,err:=aetest.NewContext(nil)iferr!=nil{t.Fatal(err)}deferc.Close()if_,err:=datastore.Put(c,datastore.NewKey(c,"ORDER","

google-app-engine - 为什么在 Go AppEngine aetest 中使用 datastore.Property List 获取 datastore.Put 的 "invalid entity type"?

此测试失败并显示partnermerge_test.go:22:datastore:invalidentitytypepackagebigdipperimport("testing""appengine/aetest""appengine/datastore")funcTestCreateMigrationProposal(t*testing.T){c,err:=aetest.NewContext(nil)iferr!=nil{t.Fatal(err)}deferc.Close()if_,err:=datastore.Put(c,datastore.NewKey(c,"ORDER","

google-app-engine - Golang - AppEngine Datastore GetMulti() 在返回 MultiError 时是否返回无效数据?

我正在调用AppEngine数据存储以获取可能存储或不存储的数据;我不关心多重错误,除非所有多重错误条目都返回错误。err:=datastore.GetMulti(context,keys,data)iferr_entries,ok:=err.(appengine.MultiError);ok{for_,err_entry:=rangeerr_entries{iferr_entry==nil{returndata,nil}}}returndata,err我的问题是,假设多重错误的一个err_entry为nil,返回的数据是否将包含与多重错误中的错误匹配的键的错误、空或损坏的数据条目。它