我有几百个键,都是相同的模型,我已经预先计算了:
candidate_keys = [db.Key(...), db.Key(...), db.Key(...), ...]
其中一些键是指数据存储中的实际实体,而有些则不是。我希望确定哪些键确实对应于实体。
不必知道实体内的数据,只需知道它们是否存在即可。
一种解决方案是使用 db.get():
keys_with_entities = set()
for entity in db.get(candidate_keys):
if entity:
keys_with_entities.add(entity.key())
但是,此过程将从商店中获取所有实体数据,这是不必要且昂贵的。
第二个想法是使用带有IN
过滤器的查询key_name
,手动获取 30 个块以满足IN
伪过滤器的要求。IN
但是,过滤器不允许仅键查询。
有没有更好的办法?