C# MongoDb driver Aggregate из разных коллекций

Имеется 4 коллекции, которые описаны следующими моделями:

class A
{
    public ObjectId a_id { get; set; }
    public List<B> fields { get; set; }
}

class B
{
    public ObjectId b_id { get; set; }
    public string b_item { get; set; }
}

class C
{
    public ObjectId c_id { get; set; }
    public ObjectId b_id { get; set; }
    public ObjectId d_id { get; set; }
    public string c_item { get; set; }
}

class D
{
    public ObjectId d_id { get; set; }
    public string d_item { get; set; }
}

Задается только a_id, чтобы из класса A получить список fields.

Как агрегацией получить class Result, который будет содержать следующие данные:

class Result
{
    public string item { get; set; } // item = b_item
    public List<ResultItem> items { get; set; }
}

class ResultItem
{
    public string str { get; set; } // str = d_item
    public string item { get; set; } // item = c_item
}

В простейшем случае данные получаются разными запросами, но хочется сделать 1 запрос и получить нужный результат.


Ответы (0 шт):