2014-12-08 18 views
0

有没有办法让我使用数据存储区的GetMulti或“appengine/datastore”包中内置的另一个函数来获取单一类型的所有实体?使用GetMulti列出所有实体的单个数据存储区种类

例如,我有一个种类“队列”与许多实体有两到三个属性。每个实体都有唯一的字符串ID,我试图得到的是每个唯一字符串ID的切片或其他可比较的数据类型。

Queue的目的是存储一些元数据和我将循环并执行cron任务的唯一键名称(例如,键“user1”,“user2”和“user3”存储为类队列,然后 - 在cron期间 - 被循环并与之交互)。

谢谢。

回答

1

我是Google App Engine的新手,在潜水之前我没有阅读过文档。现在我真正阅读了文档,看起来我会回答我自己的问题。这可以通过一个简单的查询来完成,循环遍历Keys,并将每个键的StringID附加到一段字符串:

var queuedUsers []string 

q := datastore.NewQuery("Queue").KeysOnly() 
keys, _ := q.GetAll(c, nil) 
for _, v := range keys { 
    queuedUsers = append(queuedUsers, v.StringID()) 
} 
相关问题