【问题标题】:Appengine Datastore returns wrong resultsAppengine Datastore 返回错误的结果
【发布时间】:2013-12-01 18:14:08
【问题描述】:

我在数据存储中有一个 _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

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

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

【问题讨论】:

  • 我猜这是一个 Java 应用程序?在询问有关 gae 的问题时,您确实应该指定编程语言。
  • 我编辑了这个问题,是的,这是一个 java 应用程序。
  • 这是在 dev_appserver 中,还是已部署?

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多