如何按 ID ndb.query 设置过滤
How to set filtering by ID ndb.query
我尝试像下面这样过滤ID
ancestorid id value
1111 aaaa 10 // I want to fetch this
1111 bbbb 20
2222 aaaa 30 // and this.
2222 cccc 40
但是,我在 ndb.query 参考中找不到按 id 过滤。
我可以通过 key.But 过滤它需要祖先键 (id)。
我想获取交叉实体组。
如何使用 ndb.query 按 ID 过滤?
您不能通过单个查询做到这一点。这是因为如果您进行祖先查询,您将只能从该祖先实体组中获得结果,如果您不进行祖先查询,您将只能获得没有祖先的实体。所有这些查询都会有 non-overlapping 个结果。
获得所需结果的唯一方法是使用多个查询:
- 获取感兴趣的祖先键(可能使用查询)
- 为每个获得的祖先键执行一个祖先查询
- 同时执行 non-ancestor 查询,如果您查找的实体可能没有祖先
- 合并上述所有执行查询的结果
我尝试像下面这样过滤ID
ancestorid id value
1111 aaaa 10 // I want to fetch this
1111 bbbb 20
2222 aaaa 30 // and this.
2222 cccc 40
但是,我在 ndb.query 参考中找不到按 id 过滤。
我可以通过 key.But 过滤它需要祖先键 (id)。 我想获取交叉实体组。
如何使用 ndb.query 按 ID 过滤?
您不能通过单个查询做到这一点。这是因为如果您进行祖先查询,您将只能从该祖先实体组中获得结果,如果您不进行祖先查询,您将只能获得没有祖先的实体。所有这些查询都会有 non-overlapping 个结果。
获得所需结果的唯一方法是使用多个查询:
- 获取感兴趣的祖先键(可能使用查询)
- 为每个获得的祖先键执行一个祖先查询
- 同时执行 non-ancestor 查询,如果您查找的实体可能没有祖先
- 合并上述所有执行查询的结果