google app engine datastore使用“in”运算符

时间:2016-01-27 18:02:26

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

在App Engine数据存储中使用查询,如何指定获取与具有变量值的属性匹配的键?

var Person struct {
   name string
   department string  
}

//Query
q := datastore.NewQuery("Person").Filter("department = ", "department1").KeysOnly()

在上面的查询中,我希望“IN”运算符指定多于1个部门值,而不是“=”运算符,即获取属于department1,department2,department3等的所有人员密钥。

1个查询是否可以实现?或者我是否需要为每个部门进行1次查询?

1 个答案:

答案 0 :(得分:2)

其他运行时允许" IN"数据存储区查询的运算符。然而,这只是一个方便:引擎盖datastore makes individual queries for each element in the list

如果您的实体数量相对较少,则检索所有实体可能会更有效,然后根据"部门"过滤结果。属性,而不是发出N个查询来搜索N个可能的部门。