4

我在 Google App Engine 上使用 NDB 和 Python。更新具有相同值的多个实体上的属性的正确方法是什么?NDB相当于:

UPDATE notifications SET read = true WHERE user_id = 123.

用例是我有这些扇出通知。并且特定用户希望将所有通知设置为已读(可能为 100 条)。我知道我可以使用 get_async 和 put_async 来获取每个未读通知并将其设置为已读,但我担心通过获取潜在的 100 次序列化/反序列化所产生的延迟。

任何建议都非常有用。

4

1 回答 1

2

map()您可以使用Query的方法为每个实体调用一个函数。为了获得最佳性能,请不要忘记_async.

但是 GAE 最有用的服务之一是任务队列,尤其是在这种情况下。如果结合Query Cursorsdeferred library,您可以轻松处理任意数量的实体。

于 2013-11-15T03:44:59.993 回答