新的(2.6)$ cond聚合框架与c#?

Iva*_*nti 3 mongodb-.net-driver

我对这个疯狂了......

我有这个聚合框架表达式像mongo shell中的魅力一样工作:

{ $group : 
    {
    _id : '$Code' , 
    'Special' : { $sum : { $cond: [{ $eq: [ '$Special', 'Success']},1,0]}}
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要在c#中做到这一点,我尝试了很多组合但没有成功.

有谁有任何线索?

谢谢

aja*_*bee 5

尝试一下:

var group = new BsonDocument
{
    {
        "$group",
        new BsonDocument
        {
            {
                "_id", "$Code"
            },
            {
                "Special", new BsonDocument
                {
                    { "$sum", new BsonDocument
                        {
                            {"$cond", new BsonArray
                                {
                                    new BsonDocument
                                    {
                                        {
                                            "$eq", new BsonArray {"$Special", "Success"}
                                        }
                                    },
                                    1,
                                    0
                                }
                            }
                        }
                    }
                }
            }
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!你做到了!用于聚合的BTW C#驱动程序非常复杂和冗长!如果它可以在输入中获得标准的javascript格式,它可以真正帮助. (2认同)
  • 同意.你最终写的聚合代码看起来很可怕.其他开发人员无法一目了然地弄清楚发生了什么. (2认同)