【问题标题】:Placement of sorted entry in Google App Engine Datastore在 Google App Engine 数据存储区中放置排序条目
【发布时间】:2010-03-03 01:22:13
【问题描述】:

我想确定某个特定条目的位置,但相应的 GQL 查询让我忽略了。理想情况下,我想知道以下细节,数据存储区似乎应该知道这些细节。我似乎无法弄清楚如何确定它。有人可以帮忙吗?

  • 特定条目的位置(在给定的排序中,即按特定属性)
  • 存在的条目总数(不检索它们,只是计数)
  • 列表中的下一个条目(我认为只要我能获得该展示位置,我就可以通过简单地获取 2 并取后者来进行正确的查询以获取下一个)

有人可以帮忙吗?

【问题讨论】:

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


    【解决方案1】:

    如果您使用的是 Python,请查看 google-app-engine-ranklist 项目,该项目在 App Engine 数据存储区中实现了排名列表。

    【讨论】:

      【解决方案2】:

      GQL 非常有限,实际上只是为了让陷入 SQL 思维模式的人们更轻松地过渡到使用 App Engine 数据存储区。您无法使用 GQL 语法做任何您想做的事情。

      假设您使用的是 python,第二个可以通过调用 db.Query 或 db.GqlQuery 对象的 .count() 方法来完成,但需要注意的是,您必须指定要计数的最大数量作为参数count(),并且这个最大值不能大于 1000。

      如果不获取所有条目并进行查找,您将无法在结果集中找到特定条目。最后一个变得微不足道,因为您已经获取了所有实体,您只需要获取下一个。

      这些都不会有效;数据存储不是为做这类事情而设计的。

      【讨论】:

      • 计数不再限制为 1000。
      猜你喜欢
      • 1970-01-01
      • 2011-02-16
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多