使用超过数据库容量的值列表处理数据库查询 "IN"

Handling DB query "IN" with a list of values exceeding DB capacity

我正在查询一个包含大量 ID 的 CosmosDB,我收到一个异常,说我已经超过了 256 个字符的允许限制。

处理如此庞大的查询的最佳方法是什么?

我能想到的唯一办法就是拆分列表,分批执行

还有其他建议吗?

如果您以这种方式查询数据,那么您的模型可能不是最优的。我希望重塑您的数据,以便您可以查询您要查找的项目共享的另一个 属性(也在分区中)。

请注意,这也可以通过使用 Change Feed 将数据复制到另一个具有不同分区键的容器和一个将数据组合在一起的新 属性 来实现。您是否这样做将取决于您 运行 此查询的频率以及这是否比 运行 分批查询此查询便宜。