我有一个像这样的MongoDB文档 -
{
"_id" : ObjectId("546d96b861cbf86e90544bc4"),
"Hierarchy" : {
"Region" : [
{
"Name" : "Dhaka",
"Area" : [
{
"Name" : "Dhaka North"
},
{
"Name" : "Dhaka South"
}
]
},
{
"Name" : "Khulna",
"Area" : []
}
]
}
}
使用MongoDB C#驱动程序,我想从 Region 元素中提取所有 Area ,其中Region.Name="Dhaka"
。
我用Google搜索,但没有找到任何可以帮助我的东西。
你能帮帮我吗?
答案 0 :(得分:0)
除了获取对象之外,你不需要mongo驱动程序。要从中提取数据,您只需将linq用于对象即可。
var obj = GetObjectFromMongo(...);
var areas = obj.Hierarchy.Region.Where(r => r.Name == "Dhaka").Select(r => r.Area);
答案 1 :(得分:0)
您可以使用此代码:
var fields = Fields.Exclude("_id").Include("Hierarchy.Region.Area");
var queryString = Query.EQ("Hierarchy.Region.Name", "Dhaka");
var result = collection.Find(queryString).SetFields(fields).SetFields().ToList();