【问题标题】:GQL query checking numerical id within a list of idsGQL 查询检查 id 列表中的数字 id
【发布时间】:2016-01-23 05:19:45
【问题描述】:

我正在尝试将我的数据库中元素的唯一数字 id 与 long 列表进行比较。

我的 GQL 查询应该返回那些具有我作为其 long 数组的一部分传递的 id 的元素。

我尝试过使用以下形式的语句:

"SELECT * FROM Table WHERE id IN :1", list_of_stored_ids

我也尝试过使用这个问题:GQL query with numeric id in datastore viewer,但我仍然找不到任何与列表进行比较的方法。

有没有这样的方法?如果没有,我该怎么办?

【问题讨论】:

    标签: python google-app-engine gql gqlquery


    【解决方案1】:

    您需要建立一个 ndb 键列表,而不是数字 ID,才能使其正常工作。

    例如:

    ids = [5918782761467904, 5624113645223936, 5463928544952320]
    keys = [ndb.Key('<Entity>', id) for id in ids]
    entities = ndb.gql("SELECT * FROM <Entity> WHERE __key__ IN :1", keys).fetch()
    

    或(非 GQL 版本)

    entities = ndb.get_multi(keys)
    

    【讨论】:

      猜你喜欢
      • 2011-04-21
      • 2011-12-06
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多