gpt4 book ai didi

c# - 使用 ContinueOnError 批量插入

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

我正在使用以下代码通过 C# 驱动程序进行批量插入。我有一个唯一索引,如果我尝试插入一条不唯一的记录,我希望它静默失败。

即使我设置了 InsertFlags.ContinueOnError,我仍然在调用 InsertBatch 时遇到错误。如果我吞下如下所示的错误,一切正常。但这肯定感觉不对。

var mio = new MongoInsertOptions {Flags = InsertFlags.ContinueOnError};
// newImages is a list of POCO objects
try
{
_db.GetCollection("Images").InsertBatch(newImages, mio);
}
catch (WriteConcernException)
{
}

最佳答案

您使用的是 1.8 版的 csharp Mongo 驱动程序吗?

如果是这样,请尝试升级到版本 1.8.1,其中包含对以下两个问题的修复:

因此您的插入可能会成功,但由于上述错误,驱动程序仍然在批量插入操作上抛出异常。

并且此异常并非源自数据库本身,这解释了为什么插入成功但之后您仍然需要捕获异常 - 即数据库实际上尊重您的 ContinueOnError 标志,但驱动程序无论如何都会在之后抛出异常。

关于c# - 使用 ContinueOnError 批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19644901/

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