DistinctAsync для вложенных документов массива с драйвером MongoDB C# 2.0
В MongoDB 3.0 с драйвером C# 2.0, как получить отдельный список значений, используя DistinctAsync
из массива вложенных документов?
Я ищу C# эквивалент этого в оболочке:
db.cars.distinct("parts.name", {"make":"Ford"})
После признания поражения я прибег к следующему шелл-коду:
var distinctParts = await db.RunCommandAsync<BsonDocument>(new BsonDocument {
{ "distinct", "cars"},
{"key", "parts.name"},
{"query", new BsonDocument { { "make", "Ford" }} } });
Спасибо!
1 ответ
Примерно так должно работать:
var filter = new MongoDB.Driver.ExpressionFilterDefinition<CARS_TYPE>(x => x.make == "ford");
var distinctParts = await cars_collection.DistinctAsync<string>("parts.name", filter);