2

我在 cosmosdb 中使用 java-sdk 进行 CRUD 操作,我能够对员工 DTO 进行基本插入,一切看起来都不错。但现在我想做批量插入,但找不到合适的 api。

我遇到了 cosmosdb文档,他们建议使用存储过程(服务器端 JS),但我更喜欢直接的 java 驱动程序选项,就像其他 nosql 提供的那样。

有什么我遗漏的吗?哪一个更可取,存储过程或 java 驱动程序选项(如果存在)?下面是我用于插入单个文档的代码片段。

documentClient.createDocument(getCollection().getSelfLink(), document, null, false).getResource();
4

1 回答 1

3

在客户端,您可以对您的集合进行单次写入,就像您目前正在做的那样。没有客户端批量插入 API 调用。

使用存储过程,您可以将所需的任何有效负载传递给存储过程,然后您可以事务性地将多个文档插入到集合( 如果使用分区集合,则可以插入分区)通过对该存储过程的单个客户端调用。

因此,使用存储过程,您仍然可以进行单个客户端调用,从而有效地完成您特别需要的内容。您只需要适当地设置您的有效负载,以便您的存储过程代码可以分隔要插入的每个单独的文档。

于 2017-06-08T12:57:05.107 回答