跨多个集合的 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 批量插入的主要内容,如果未能解决你的问题,请参考以下文章