GAE中的多值属性查询

时间:2010-12-10 03:47:01

标签: google-cloud-datastore jdo multivalue

class Person { @Persistent private List tags = ArrayList() }

我想让用户根据他/她的标签查询某个人,所以我的查询过滤器是这样的:

tags.contains(tagValue1)

如果用户想要搜索多个标签,我只想添加到过滤器中,这样如果用户正在搜索3个标签,那么查询将是

tags.contains(tagValue1)&& tags.contains(tagValue2)&& tags.contains(tagValue3)

我认为这种方法是错误的,因为数据存储区需要有一个具有三次tags属性的索引...如果用户一次搜索多于3个标签,那么它将被破坏。

这样做的正确方法是什么?你们有什么建议吗?

1 个答案:

答案 0 :(得分:0)

无法回答有关GAE / J插件如何处理的细节,但稍微好一点的查询将

tags.contains(theTag)&& (theTag == tagValue1 || theTag == tagValue2 || theTag == tagValue3)

所以“theTag”是一个变量。