app engine ndb Key.get只返回密钥?

Jay*_*Jay 5 app-engine-ndb

鉴于我构建的Key,我想点击数据存储区以查看它是否存在,但我希望以最便宜(及时)的方式执行此操作.我正在寻找的只是一个只有键的查询,但来自get,例如my_key.get(keys_only = True).这样的动物存在吗?它看起来不像我.如果没有,还有其他方法来实现我的目标吗?

谢谢.

Gui*_*sum 6

不,此功能不存在.由于并非所有实体都被编入索引,因此没有快捷方式 - 测试密钥是否存在的唯一方法是尝试获取密钥,然后您可以免费获得实体数据(无论如何都在磁盘操作方面 - 有一些序列化成本,但我们不收取费用).

PS.你确定你没有尝试过早优化吗?

  • 如果您使用当前模型有两个不同的原因,请考虑将其拆分为两个单独的模型,每个模型用于一个目的.您甚至可以为每个使用相同的密钥ID.这样可以节省TextProperty带来的不必要的有效负载. (2认同)