我一直是谷歌一段时间,不确定弹簧数据MongoDB是否支持批量保存。

我需要将文件集收集到Mongo作为原子,无论是保存的还是没有保存。

任何人都可以共享一个链接或一些示例代码吗?

有帮助吗?

解决方案

当您通过MongoDB Java驱动程序进行保存时,您只能将单个文档传递给MongoDB。

执行插入时,可以传递单个元素,或者您可以传递一系列元素。后者是将导致“批量插入”(即,客户端的单个插入命令将导致在服务器上插入多个文档)。 但是,由于MongoDB不支持事务概念,因此如果其中一个插入失败,则无法指示应删除或回滚先前插入的文档。

为原子性的目的,每个文档插入都是单独的操作,并且没有支持MongoDB插入全部或无的方法。

如果这是您的应用程序所需的东西,可能有其他方法可以实现它: - 更改您的架构,以便它们是单个父文档的子区 (然后技术上只有一个“父文档的”插入“) - 将事务语义写入您的应用程序代码 - 使用自然支持两阶段提交事务的数据库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top