我有一个包含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条答案
按热度按时间velaa5lx1#
如果我没有误解你的问题,你正在尝试从
BsonArray
转换为List<string>
。使用 * System.Linq * 将每个
BsonValue
转换为string
类型,并以List<string>
类型输出结果。