gpt4 book ai didi

mongodb - 在 MongoDB java 中使用 ordered as false 批量写入时处理异常

转载 作者:可可西里 更新时间:2023-11-01 09:35:25 26 4
gpt4 key购买 nike

我正在使用 Mongo DB java 驱动程序:

collection.bulkWrite(documents);

我有 100 万条记录要插入。如果其中一条记录的插入失败,则在第一次失败时将不会插入剩余的记录。为了避免这种情况,我发现 BulkWriteOptionsorderedfalse;

collection.bulkWrite(documents, new BulkWriteOptions().ordered(false) )

如果上述操作出现异常,是否可以得到bulkwrite失败的记录列表,是否可以重新尝试插入这些记录?

最佳答案

我认为您正在寻找类似的东西..

BulkWriteOptions bulkWriteOptions = new BulkWriteOptions();
bulkWriteOptions.ordered(true);

BulkWriteResult bulkWriteResult = null;
try {
bulkWriteResult = mongoCollection.bulkWrite(updateDocuments,
bulkWriteOptions);
} catch (BulkWriteException e) {
List<BulkWriteError> bulkWriteErrors = e.getWriteErrors();
for (BulkWriteError bulkWriteError : bulkWriteErrors) {
int failedIndex = bulkWriteError.getIndex();
Long failedEntity = entityList.get(failedIndex);
System.out.println("Failed record: " + failedEntity);
//handle rollback
}
}

关于mongodb - 在 MongoDB java 中使用 ordered as false 批量写入时处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35168361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com