我在 Google App Engine 上使用 NDB 和 Python。更新具有相同值的多个实体的属性的正确方法是什么? NDB 相当于:
UPDATE notifications SET read = true WHERE user_id = 123
。
用例是我有这些扇出通知。并且特定用户希望将所有通知设置为已读(可能是 100 秒)。我知道我可以使用 get_async 和 put_async 来获取每个未读通知并将其设置为已读,但我担心通过获取可能的 100 次序列化/反序列化而产生的延迟。
任何建议都得到了极大的应用。
最佳答案
您可以使用 map()
为每个实体调用一个函数查询方法。为了获得最佳性能,请不要忘记 _async
。
但 GAE 最有用的服务之一是任务队列,尤其是在这种情况下。如果结合 Query Cursors和 deferred library ,您可以轻松处理任意数量的实体。
关于python - Google App Engine - NDB - 在多条记录上设置属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19992694/