Appengine Datastore返回错误的结果

时间:2013-12-01 18:14:09

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

我在数据存储区中有一个_Client类,它有一个名为lastSeen的属性。

我正在执行此查询;

SELECT __key__ FROM _Client WHERE (status = ONLINE AND lastSeen < 1385920960176) ORDER BY lastSeen DESC

它会返回此结果;

Result:[key:_Client("CE:f3ccfa69-2c19-42e1-b9ae-bc87fffd5cc9"),
    lastSeen = 1385921035721    .......]

问题是返回的记录不符合标准“lastSeen&lt; 1385920960176”。我在_Client类型上有这个索引;

<datastore-index kind="_Client" ancestor="false" source="manual">
    <property name="status" direction="asc"/>
    <property name="lastSeen" direction="desc"/>
</datastore-index>

我也用asc方向尝试了lastSeen索引,但结果是一样的。这是一个Java App。

1 个答案:

答案 0 :(得分:0)

我找到了原因,它是Mobile Backend Starter包中的FilterDto实现。在创建查询过滤器时,它使用String.valueOf(v)将操作数转换为String。所以我想我的日期过滤器被解释为字符串比较。