通过在GAE数据存储区中指定值列表来查询实体

时间:2014-03-31 14:29:56

标签: google-app-engine go google-cloud-datastore

在我的数据存储区中,我想通过指定Filter来查询相同属性的值来查询某些实体。 例如,我将名为Foo的实体定义如下:

type Foo struct { Id int64 Name string CreatorId int64 }

我想要检索所有具有1,5,23作为CreatorId的Foo实体。所以我定义了以下查询:

q := datastore.NewQuery("Foo").Filter("CreatorId =", 1).Filter("CreatorId =", 5).Filter("CreatorId =", 23)

但已获取零实体。我查看了文档(https://developers.google.com/appengine/docs/go/datastore/reference),但没有解释如何实现这种查询。

非常感谢一些帮助。

1 个答案:

答案 0 :(得分:1)

Java和Python允许您对集合中的值运行查询(IN查询)。但是,在表面下,此查询将作为一系列EQUALS查询执行。与在循环中运行常规EQUALS查询相比,它的代码少了一点,但在性能方面没有差异。