我在Google App Engine上使用NDB和
Python.在具有相同值的多个实体上更新属性的正确方法是什么? NDB相当于:
UPDATE通知SET read = true WHERE user_id = 123.
用例是我有这些扇出通知.特定用户希望将所有通知设置为已读(可能为100).我知道我可以使用get_async和put_async来获取每个未读通知并将其设置为read,但我担心通过获取可能的100个序列化/反序列化而产生的延迟.
任何建议都非常谨慎.
最佳答案 您可以使用查询的
map()
方法为每个实体调用一个函数.为获得最佳性能,请不要忘记_async.
但GAE最有用的服务之一是任务队列,特别是在这种情况下.如果将Query Cursors和deferred library组合在一起,则可以轻松处理任意数量的实体.