Mongodb 如何在不导致Mongo聚合管道崩溃的情况下处理Mongo聚合管道中的重复密钥异常?
我正在使用Mongo聚合管道的C#驱动程序对一些数据执行投影操作,然后将其输出到目标表 目标表对“key”和“coid”字段的组合具有唯一的key约束,因此当管道运行时,如果任何文档试图违反此约束,它将崩溃 我需要做的是,每当一个文档试图违反约束时,我都希望记录有关该文档的一些信息,然后丢弃它,并让管道在不崩溃的情况下继续其操作 目前我是Mongo管道的新手,所以我刚刚将整个过程包装在一个try-catch块中。我意识到这是次优的,我正在寻找一些指导 有没有更好的方法来捕获重复的密钥异常并记录它们,同时防止管道崩溃Mongodb 如何在不导致Mongo聚合管道崩溃的情况下处理Mongo聚合管道中的重复密钥异常?,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我正在使用Mongo聚合管道的C#驱动程序对一些数据执行投影操作,然后将其输出到目标表 目标表对“key”和“coid”字段的组合具有唯一的key约束,因此当管道运行时,如果任何文档试图违反此约束,它将崩溃 我需要做的是,每当一个文档试图违反约束时,我都希望记录有关该文档的一些信息,然后丢弃它,并让管道在不崩溃的情况下继续其操作 目前我是Mongo管道的新手,所以我刚刚将整个过程包装在一个try-catch块中。我意识到这是次优的,我正在寻找一些指导 有没有更好的方法来捕获重复的密钥异常并记录它
try
{
new BsonDocument("$project",
new BsonDocument
{
{ "_id", 1 },
{ "key", 1},
{ "coid",
new BsonDocument("$concat",new BsonDocument[
new BsonDocument("prefix-"),
new BsonDocument("$first", "$values.SecId")])
}
})
new BsonDocument("$out", "targetTable")
}
catch (Exception ex )
{
_logger.log(ex.Message);
}