我想用来ndb.get_multi(list_of_keys)
避免做更昂贵的查询。如果我的理解是正确的,ndb.get_multi()
那么每个返回的实体只向您收取 1 次读取费用,因此如果您有 50 个键的列表,并且只找到 20 个,那么您应该只收取 20 次读取的费用。
keys = list()
keys.append(Key('User', 2)) // this user exists
keys.append(Key('User', 12)) // this user DOES NOT exist
keys.append(Key('User', 15)) // this user DOES NOT exist
users = ndb.get_multi(keys)
我得到的是 3 个项目,1 个有用户,2 个只有空值。当我检查 AppStats 时,我发现它确实对我放入其中的所有密钥收费,即使 2 不存在。
为什么我要返回空实体?不应该跳过未找到的项目吗?