C# 获取insertbatch命令插入的每个对象的返回状态
我正在为Mongo Db使用C#驱动程序。 我想使用insertbatch命令将对象列表(IList)传递给它。 对于插入的每个对象,我想知道结果状态(是否成功插入)。我看到insertbatch为插入的每个16MB块只返回一个SafeModeResult对象。 如果我想使用insertbatch命令并获取插入的每个对象的返回状态,那么对我来说最好的方法是什么C# 获取insertbatch命令插入的每个对象的返回状态,c#,mongodb,mongodb-.net-driver,C#,Mongodb,Mongodb .net Driver,我正在为Mongo Db使用C#驱动程序。 我想使用insertbatch命令将对象列表(IList)传递给它。 对于插入的每个对象,我想知道结果状态(是否成功插入)。我看到insertbatch为插入的每个16MB块只返回一个SafeModeResult对象。 如果我想使用insertbatch命令并获取插入的每个对象的返回状态,那么对我来说最好的方法是什么 对于使用返回多个元素的查询从集合中删除元素,同样的问题也随之而来。我想知道我删除的每个元素是否成功删除。首先,确保启用了SafeMode
对于使用返回多个元素的查询从集合中删除元素,同样的问题也随之而来。我想知道我删除的每个元素是否成功删除。首先,确保启用了SafeMode。最简单的方法是在连接字符串中设置SafeMode on: 变量连接字符串=”mongodb://localhost/?safe=true"; 如果InsertBatch完成而未引发异常,则您知道所有文档都已正确插入
如果InsertBatch引发异常,则它在批处理过程中中途失败。不幸的是,服务器在失败之前没有报告它进入批处理的程度,并且您必须查询数据库以查看是否插入了特定文档。对于删除,类似地,如果删除完成而没有引发异常,则您知道所有匹配的文档都已成功删除 如果服务器报告错误(假设SafeMode已打开),Remove将引发异常。但是,服务器不会报告是否删除了任何文档。使用传递给Remove的相同查询调用Find将检索所有未删除的文档