2014-09-30 78 views
0

下面是代码,它首先获取bson元素,然后获取其相应的值,但即使这里的bson值从第二次迭代开始作为完整的“key:value”对返回,它给出了铸造错误,指出无法将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"]); 
         } 
代码