我有一个Android应用程序的appengine后端。
在此我想根据他们的' id'
检索多个实体我已尝试使用WHERE IN
查询,如下所示。
"select from MyEntity as MyEntity where id IN ('4538783999459328')"
数据存储区包含MyEntity
,其中包含ID为4538783999459328
的密钥。
但结果集是空白的。我已尝试使用该实体的其他字段名称,但它可以工作,但无法使用id进行过滤。
还有其他方法吗?
我正在使用Appengine JAVA。
我不想使用EntityManager.find()
,因为我想要查找多个ID。
答案 0 :(得分:1)
两件事:
__key__
而不是id
Key('EntityName', ID)
因此,您的查询应如下所示:
select * from MyEntity where __key__ in (Key('MyEntity', 4538783999459328))
另外,请查看GQL文档:https://cloud.google.com/appengine/docs/python/datastore/gqlreference
答案 1 :(得分:0)
所有实现数据存储的框架都可以通过ID列表(Key)选择获取实体,或者上面的GQL帖子如何相同。