跨多个集合的 Mongodb 批量插入

Posted

技术标签:

【中文标题】跨多个集合的 Mongodb 批量插入【英文标题】:Mongo Bulk Insert across multiple collections 【发布时间】:2015-09-06 06:32:54 【问题描述】:

我看到 mongo 有 bulk insert,但我看不到跨多个集合进行批量插入的能力。 由于我在任何地方都看不到它,因此我假设 Mongo 不提供它。 有什么具体原因吗?

【问题讨论】:

【参考方案1】:

您是正确的,因为批量 API 仅在单个集合上运行。

没有具体原因,但 API 通常是集合范围的,因此“跨集合批量插入”将是设计偏差。

您当然可以在一个程序中设置多个批量 API 对象,每个对象位于不同的集合中。请记住,虽然这不是事务性的(在 startTrans-commit-rollback 意义上),但批量插入也不是。

【讨论】:

但是这些调用不会是事务性的吧? 正确 - 但即使是批量插入单个集合目前在 startTrans-commit-rollback 意义上也不是事务性的。 更新:从 MongoDB 4.0(2018 年 6 月)开始,批量插入现在甚至可以跨集合进行事务处理。从 MongoDB 4.2(2019 年 8 月)开始,这将扩展到分片的集合。

以上是关于跨多个集合的 Mongodb 批量插入的主要内容,如果未能解决你的问题,请参考以下文章

使用 mongoose 在 MongoDB 中批量插入

如何删除MongoDB数据库中的文件

mongoDB 基础

MongoDB怎样批量执行命令

mybatis 批量插入 怎么获取刚刚插入的数据的id集合

MongoDB: CURD操作