使用MongoDB C#2.0驱动程序

时间:2015-04-27 21:27:35

标签: c# mongodb mongodb-csharp-2.0

在带有C#2.0驱动程序的MongoDB 3.0中,如何使用文档的子文档数组中的DistinctAsync获取不同的值列表?

我在shell中寻找C#的等价物:

db.cars.distinct("parts.name", {"make":"Ford"})

在承认失败之后,我使用了这个shell-ish代码:

var distinctParts = await db.RunCommandAsync<BsonDocument>(new BsonDocument {
    { "distinct", "cars"}, 
    {"key", "parts.name"},
    {"query", new BsonDocument { { "make", "Ford" }} } });

谢谢!

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效:

var filter = new  MongoDB.Driver.ExpressionFilterDefinition<CARS_TYPE>(x => x.make == "ford");
var distinctParts = await cars_collection.DistinctAsync<string>("parts.name", filter);