检查插入是否成功(MongoDB C#驱动程序)

时间:2014-11-03 15:40:07

标签: mongodb mongodb-.net-driver

假设" doc"是我想要插入到MongoDB集合中的一些文档和#34;集合"是我正在插入文档的集合。

我有以下内容:

try
{
    WriteConcern wc = new WriteConcern();
    wc.W = 1;
    wc.Journal = true;

    WriteConcernResult wcResult = collection.Insert(doc, wc);

    if (!string.IsNullOrWhiteSpace(wcResult.ErrorMessage) || !wcResult.Ok)
    {
        return ErrorHandler(...); 
    }
    else
    {
        return SuccessFunction(...); 
    }
}
catch (Exception e)
{
    return e.Message;
}

基本上,如果插入因任何原因(硬件不再正常工作)失败,我想处理它(通过ErrorHandler函数或catch子句),如果成功,我想调用SuccessFunction。

我的问题:上述代码是否足以进行错误检查?换句话说,是否会捕获所有失败的插入,以便在这些情况下永远不会调用SuccessFunction?

1 个答案:

答案 0 :(得分:8)

您甚至不需要进行任何检查。如果在使用除未确认之外的任何写入问题时写入不成功,collection.Insert将抛出异常。

如果您想知道是否发生错误,则需要捕获WriteConcernException。