C# .Net Mongo驱动程序-获取路径为但未找到的对象?

C# .Net Mongo驱动程序-获取路径为但未找到的对象?,c#,.net,mongodb,C#,.net,Mongodb,我有一个这样设置的MongoDB- product-data 1234-abcd items 9012-uiop name price 5678-efgh 我知道我想要的产品的完整路径- 产品数据.1234 abcd.items.9012 uiop 我希望检索此嵌套对象,而不解析整个对象,也不使用“查找”。我试过一些方法- _database.GetCollection<Produ

我有一个这样设置的MongoDB-

product-data
   1234-abcd
       items
           9012-uiop
               name
               price
   5678-efgh
我知道我想要的产品的完整路径-

产品数据.1234 abcd.items.9012 uiop

我希望检索此嵌套对象,而不解析整个对象,也不使用“查找”。我试过一些方法-

_database.GetCollection<ProductData>("product-data").Find("1234-abcd.items.9012-uiop"); // Thinks the result of Find is ProductData
_database.GetCollection<ProductItem>("product-data.1234-abcd.items.9012-uiop"); // Thinks the result is a collection (naturally)
\u database.GetCollection(“产品数据”).Find(“1234 abcd.items.9012 uiop”);//认为查找的结果是ProductData
_database.GetCollection(“product data.1234 abcd.items.9012 uiop”);//认为结果是一个集合(自然)
我曾考虑将第二个对象序列化为json,然后将其反序列化到我期望的类中,但这似乎是一个错误


给定完整路径,如何使用.Net Mongo驱动程序以这种方式解析嵌套对象?

我不明白,我假设您确实有
ProductData
字符串Id和
ProductItem
insisde列表,您的数据结构是什么样的

如果要从采集中获取数据,应调用
Find()
。但如果您只想从中获取某个项,则可以投影查询结果以仅获取该项:

ProductItem item = _database.GetCollection<ProductData>("product-data")
                            .Find(x=>x.Id=="1234-abcd")
                            .Project(x=>x.items.First(i=>i.name=="9012-uiop"))
                            .First();
ProductItem=\u database.GetCollection(“产品数据”)
.Find(x=>x.Id==“1234 abcd”)
.Project(x=>x.items.First(i=>i.name==“9012 uiop”))
.First();

这是传输整个数据集还是仅传输请求的2项?(查看
First()
)。我的目标之一是使这个网络高效,否则我只能在代码中完成这一切。我会尽快试试这个,然后再给你回复。谢谢