2014-09-30 2 views
0

Ниже приведен код, который сначала берет элемент bson, а затем его соответствующее значение, но даже значение bson здесь возвращается как полная пара «ключ: значение» от второй итерации вперед, это дает ошибку кастинга, заявляя, что не может использовать bson-массив для bson int32.Невозможно отличить BsonArray от BsonInt32

Я хочу получить только значения каждого элемента, а затем суммировать эти значения и отобразить их в новом элементе bson, я застрял из-за ошибки кастинга. может кто-нибудь помочь мне в этом?

foreach (string nestedAmount in document.Names) 
       { 
        BsonElement element = document.GetElement(nestedAmount); 
        BsonValue elementValue = element.Value; 



        //summation logic 

       } 

ответ

0

Я просто понял, решение самостоятельно, ниже приведен код, который корректно работает в настоящее время

double Total = 0;  

    foreach (BsonDocument nestedDocument in myDocument["doc"].AsBsonArray) 
         { 
          Total += Convert.ToDouble(nestedDocument["amt"]); 
         } 
Смежные вопросы