【发布时间】:2014-09-23 14:52:25
【问题描述】:
下面的代码以 BsonArray 的形式检索元素。我只想从数组中获取数值并使用该值来计算总和。
var fields = "secondary.amount";
foreach (var document in collection.FindAllAs<BsonDocument>().SetFields(fields))
{
foreach (string name in document.Names)
{
BsonElement element = document.GetElement(name);
Console.WriteLine("{0}", element.Value);
}
}
我尝试将 bson 元素转换为 int64、int32、double,然后使用数值进行加法,但出现运行时错误,无法转换 bsonarray 等。有谁知道如何解决这个问题?
【问题讨论】:
-
您是否犯了错误并粘贴其他问题的代码:stackoverflow.com/questions/25995286/…? :)
-
如果你有 bsonarray 则将其转换为数组,而不是简单的类型如 int 和 double
-
@razon,另一个问题也是我的,但这个问题不同,这个问题是一个延续..,所以你在上面的代码中看到的这个 BsonElement 实际上是一个 BsonArray
-
您的文档在服务器中是什么样的?而且,正如@razon 所说,如果它是 BsonArray,则先将其转换为 BsonArray ...
-
@CraigWilson - 我在找到解决方案时回答了它,它现在可以工作了.. !!非常感谢!!
标签: c# mongodb mongodb-.net-driver mongodb-query