BigTable查询,GREATER_THAN_OR_EQUAL在使用__KEY__时无法正常工作

时间:2012-02-17 11:17:54

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

在我的应用中,我有包含相关评论的照片。当我检索目标照片列表时,我保存照片的高/低键以包含我查询的评论列表。

我遇到的问题是查询不会返回最后一张照片的评论。

这几乎就像GREATER_THAN_OR_EQUAL作为GREATER_THAN运行一样。

我可以通过解构高键并在其id中添加1来使查询正常工作。

这是一个错误还是我期待错误的事情?

SDK版本1.6.1 SDK时间戳:2011年12月12日星期一14:53:13 API版本:[1.0]

这是我的代码,下面是代码的工作。

Query q = new Query (EntityNames.EventPhotoComment.name());

q.addFilter(
 Entity.KEY_RESERVED_PROPERTY,
 Query.FilterOperator.LESS_THAN_OR_EQUAL,
 highPhotoKey);

q.addFilter(
 Entity.KEY_RESERVED_PROPERTY,
 Query.FilterOperator.GREATER_THAN_OR_EQUAL,
 lowPhotoKey);

q.addSort(Entity.KEY_RESERVED_PROPERTY,
 Query.SortDirection.ASCENDING);

PreparedQuery pq = ds.prepare(q);
Iterator<Entity> dbDataIterator = pq.asIterator();

解决代码问题。

  long id = highPhotoKey.getId();
  Key parent = highPhotoKey.getParent();
  highPhotoKey = KeyFactory.createKey(parent,EntityNames.EventPhoto.name(), id+1);

0 个答案:

没有答案