我的应用程序将一组包含许多不同种类的数据的报告组合在一起,这个报告需要一段时间才能编译,并且用户可以在以后查看此快照,因此我保存了一份副本在数据存储区中编译成单独种类的数据。然后,可能在几个月之后,用户拉出我保存的副本,但是我想查询数据存储区,以查找自最初运行报告以来可能已更改的每个实体上的一个特定状态字段,以查看该实体是否已更改因为他们第一次看报告。
所以,我拥有我需要的所有密钥,我可以做一个datastore.GetMulti()。但是可能有数千个实体,每个实体都有很多字段,所以我想知道是否有更有效的查询数据存储区的方法来获得这一个字段,而不是整个数据集。类似于投影查询和GetMulti()的组合,但我在文档中找不到类似的东西,我错过了什么?
答案 0 :(得分:3)
投影查询不一定只在一个实体上。您可以使用投影查询完成此操作。在你的情况下,像这样:
q := datastore.NewQuery("EntityKindYouDefinedName").Project("status_property")
See the doc有关如何处理此投影查询结果的详细信息。