драйвер бд concat aggregate mongo c#

#c# #mongodb #aggregation-framework

Вопрос:

У меня есть запрос, написанный на c# с использованием драйвера MongoDB.

 var project = new BsonDocument
            {
                { "Id" , "$asCompany._id"}, { "Code" , "$asCompany.Code"}, { "Name" , "$asCompany.Name"}, { "Address" , "$asCompany.Address"},
                { "ConcurrencyId" , new BsonDocument{ { "$concat", new BsonArray{  "1_3_", "$asCompany._id" } } } }
            };
 

Приведенная выше инструкция используется в качестве проекта в приведенном ниже коде.

 var joinresult3 = userCollection.Aggregate()
                .Match(user => user.Id == userId)
                .Lookup("Division", "Divisions.DivisionId", "_id", "asDivisons")
                .Lookup("Company", "asDivisons.CompanyId", "_id", "asCompany")
                .Project(project).ToList();
 

Итак, утверждение, которое я написал для проекции, генерирует следующий код на стороне сервера. Что, по-видимому, правильно.

 { "$project" : { "Id" : "$asCompany._id", "Code" : "$asCompany.Code", "Name" : "$asCompany.Name", "Address" : "$asCompany.Address", "ConcurrencyId" : { "$concat" : ["1_3_", "$asCompany._id"] } } }
 

Но код c# выдает следующее исключение.
Сбой командной агрегации: $concat поддерживает только строки, а не массив.

Заранее спасибо.

Комментарии:

1. вы должны добавить примеры данных на игровую площадку и поделиться ссылкой в своем вопросе, чтобы ppl мог поиграть с ними, чтобы найти решение.