如何使用C#从MongoDB中的数组中检索值

本文关键字:数组 检索 MongoDB 何使用 | 更新日期: 2023-09-27 18:24:16

下面的代码以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等。有人知道如何处理吗?

如何使用C#从MongoDB中的数组中检索值

我通过进行以下更改找到了解决方案,现在它可以工作了:

foreach (BsonDocument nestedDocument in Document["name"].AsBsonArray)
                        {
                            Total += Convert.ToDouble(nestedDocument["amount"]);
                        }