我有一个集合,其中包含一个包含BsonArray的文档。
{
"_id": {
"$oid": ""
},
"Types": [
"Type 1",
"Type 2",
"Type 3"
]
}
我想获取“Types”中的所有“Type”值,这样我就可以在C#中创建一个字符串列表,我可以获取包含Types数组的文档,但我无法创建列表,因为我得到的结果是BsonElement类型。
这是目前为止我的代码
var filter = Builders<BsonDocument>.Filter.Exists("Types", true);
var projection = Builders<BsonDocument>.Projection.Include("Types").Exclude("_id");
var result = collection.Find(filter).Project(projection).First();
投影看起来是有效的,因为我得到的结果是这样的,但是我不能得到列表中的元素。
Types=["Type 1", "Type 2", "Type 3"]
1条答案
按热度按时间8zzbczxx1#
如果我没有误解您的问题,您正试图从
BsonArray
转换为List<string>
。使用 * System.Linq * 将每个
BsonValue
转换为string
类型,并以List<string>
类型输出结果。