【问题标题】:Handling Failure in Bulk insertion in mongodbmongodb批量插入失败的处理
【发布时间】:2016-04-19 15:26:47
【问题描述】:

您好,我需要向 mongodb 插入大约 100,000 条记录。我正在使用 BulkWriteOperation api 插入一批记录。我将整个拆分并插入一批 1000 条记录到 mongo。如果批次中的任何一条记录插入失败,则整个批次都没有插入到 mongo。无论如何要单独获取失败批次的记录列表,以便我可以进行递归并将剩余记录插入到mongo。或者有什么方法可以批量插入mongodb,除了失败的记录之外的所有记录都需要插入。

提前致谢。

【问题讨论】:

  • 如果某些记录有问题,我通常将batch size设置为1。对于 100,000 条记录,使用批量大小为 1 而不是 1000 的开销应该是可以接受的。
  • 感谢您的回复。将来记录大小可能会增长到数百万。使用批量插入更好,对吧?

标签: mongodb bulkinsert


【解决方案1】:

您能否确保提及您使用的是哪种语言?

对于python,我发现使用ordered=False 的insert_many 操作更适合这个用例(这仅在插入的顺序无关紧要时才有效 - 根据需要,它不会失败如果某些插入失败)。 BulkWriteError 给出了插入失败的详细信息,您可以使用错误代码来决定之后要做什么。

它应该对其他语言类似地工作。如果它不起作用,请告诉我。 编辑:这个问题似乎类似于another question

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多