0

我正在使用 android 并使用 Google App Engine 构建我的项目。但是,当我收到我的实体列表时,它们会在第一次创建时返回给我。我需要他们从相反的方向回来,或者只是最新的 100 个。我可以限制我实际收到的数量。我在 Google 或 stackoverflow 上找不到任何东西。对此有任何疑问或示例。有什么快速的帮助吗?

4

2 回答 2

1

您可以添加ORDER BY id DESCLIMIT到您的查询

于 2013-07-22T05:54:55.917 回答
1

您将希望提交一个具有 index=True 和 auto_now_add=True 的 DateProperty 字段。然后,您可以使用获取限制对该字段进行降序排序。可能有更巧妙的方法,但这是我的尝试和真实的。

恕我直言 - 在每个重要实体上始终包含此 date_created 属性是一个非常好的主意。你是否索引它取决于它的用途。正如 Tomasz 所指出的,实体 ID(虽然通常是递增的)并不能保证如此。不要依赖它们。因此,如果您发现自己需要通过您的模型按顺序进步,您会很高兴拥有您的“datec”字段。(在每条记录上始终包含一个“版本”IntegerProperty 也是一个好主意,当您需要通过现有实体读取/写入以确保将最近的属性更改应用于所有实体时,这证明非常有用。)鉴于这些潜在的好处,问问自己,哪些成本会阻止您以这两个属性结束每个模型。{注意:索引是实际成本,

datec = ndb.DateTimeProperty(indexed=True, auto_now_add=True)
v = ndb.IntegerProperty(indexed=False, default=1)
于 2013-07-22T12:56:27.063 回答