Operator.IN 在 Google 数据存储中

Operator.IN in Google Datastore

根据Datastore QueriesOperator.IN关键字,允许在单个请求中指定多个查询值。

然而,它在 gcloud-java-datastore:0.2.2 中似乎不存在。

最小化多个单一请求的往返时间的解决方法是什么?

是否有允许并行查询的数量限制?

Datastore Queries 的更新文档中 Operator.IN 不再存在。

IN 运算符是 Python NDB 客户端库的客户端功能,它不是原生云数据存储功能

在幕后,客户端库通过 IN 子句拆分查询并为每个值发出单独的查询。然后它会在客户端将所有结果合并在一起为您提供结果。

由于它是一个客户端功能,您不会认为其他查询功能不能真正与它一起使用,例如 paging/cursors。

备选

如果您要为 IN 子句发布静态值列表(例如 'NEW'、'OPEN'、'ASSIGNED'),请考虑创建一个布尔字段,该字段在写入时设置 -预计算实体总 IN 子句的时间(例如 'is_active')。

这将在 NDB 以外的客户端库中执行得更好并且工作。