【发布时间】:2013-12-02 10:56:33
【问题描述】:
使用 Java、Google App Engine 及其 Datastore。 我知道以前有人问过很多这样的问题,但我不能完全理解我正在做的事情是否可行,或者我做错了。
我想做什么: 假设我有 100 个问题,每个问题都是一个问题实体。我希望用户下载例如 20 个问题并回答它们。然后稍后用户应该下载另外 20 个问题,但我想确保它与以前的问题不同。最好的方法是什么?
我目前正在向用户发送 20 个问题,每个问题都有一个唯一的 ID。然后,当他们再请求 20 个问题时,用户还会发回他回答的问题(即 20 个问题的 ID)。然后,当我进行“查询”以检索 20 个新问题时,我通过调用 query.setFilter("id != 1 && id != 2 && ... && id != 20") 来设置过滤器。这是“问题”,在这种查询中我可以有多少个'!='(不等于)有限制吗?因为用户第三次请求新问题时,过滤器不仅有 20 个条件,而是 60 个条件。这可能吗?它是一种有效的做事方式吗? '!=' 每次使用时都会创建一个新的子查询吗?
谢谢!
【问题讨论】:
标签: java google-app-engine google-cloud-datastore