database - 在 Google App Engine 上按 key ID 过滤查询

标签 database google-app-engine

我知道有一种方法可以使用 get_by_id(someId) 根据其 key ID 获取某个实体,但是有没有办法获取 ID 高于某个指定值的多个实体?使用常规过滤器,我们可以执行 query.filter("customId >", someId),但如何为内置 key ID 执行此操作?

最佳答案

尽管 key 看起来像一个无意义的大字符串,但它实际上是您的应用程序 ID、实体类型以及数字自动分配 ID 或您生成的 key 名称(父项和 namespace 是也在那里,但适用相同的基本原则)。

当您进行 < 或 > 比较,或在查询中使用“order by”时,它针对的是这些单独的部分,而不是您看到的字符串编码。因此,假设应用程序 ID 和实体类型相同,那么您将按 ID 或键名部分进行比较或排序。文档对其进行了解释 here .

在过滤器方法中,您可以使用'__key__' 作为属性名称,然后使用Key.from_path 构造一个Key 对象(至少在python 中)。

关于database - 在 Google App Engine 上按 key ID 过滤查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10174901/

相关文章:

google-app-engine - 我需要帮助更新此 Golang 代码。里面的方法都弃用了,我对cloud datastore不是很了解

mysql - 无法连接到 XAMPP 上的 FTP 服务器 (Mac)

sql - 如何在包含具有特定值的列的所有表中查找?

php - 使用php通过wordpress在mysql数据库中添加一个新行

php - 在没有 cURL 的情况下在 PHP 中调用 PayPal API

python - 如何组织应用引擎应用程序

database - 如何将数据从Elasticsearch提取到关系数据库(例如Oracle)?

python - 如果我从 Django 查询集中删除行然后再次过滤怎么办?

google-app-engine - 支持 Dart for Google Endpoints 中的查询参数吗?

python - 使用 Calendar v3 api python 插入事件时出现 HttpError 401 "Login Required"