让我们说我有一个嵌套文档与这个结构:{_id: a125,Language: null,Name: Some name,Related: [{_id: b125,Status: 0,}, {_id: b126,Status: 1,}]}是否可以使用c#驱动程序选择“相关”模型,...
让我们说我有一个嵌套文档与这个结构:
{
"_id": "a125",
"Language": null,
"Name": "Some name",
"Related": [{
"_id": "b125",
"Status": 0,
}, {
"_id": "b126",
"Status": 1,
}]
}
是否可以使用c#驱动程序选择“相关”模型,其中id为b126并同时获取父文档ID(a125)?
我想,结果应该是这样的:
{
"_id": "a125",
"Related": {
"_id": "b126",
"Status": 1,
}
}
解决方法:
您可以在positional $投影运算符中使用点表示法来查找匹配的文档,并且只包含匹配的相关元素.
在shell中:
db.test.findOne({'Related._id': 'b125'}, {'Related.$': 1})
要在C#中执行此操作:
var filter = Builders<BsonDocument>.Filter.Eq("Related._id", "b125");
var projection = Builders<BsonDocument>.Projection.Include("Related.$");
var result = await collection.Find(filter).Project(projection).FirstAsync();
沃梦达教程
本文标题为:c# – 如何在mongodb中选择嵌套文档?
猜你喜欢
- Unity Shader实现新手引导遮罩镂空效果 2023-02-08
- C#减少垃圾回收压力的字符串操作详解 2022-12-06
- c# – Windows窗体设计器 – 在类前自动添加命名空间 2023-09-19
- Unity 修改FBX模型动画的操作 2023-04-10
- UGUI实现ScrollView无限滚动效果 2023-01-16
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- C# winform 请求http的实现(get,post) 2023-06-21
- C#实现泛型List分组输出元素的方法 2022-11-27
- c#实现哈夫曼树算法 2023-06-15
- unity绘制一条流动的弧线(贝塞尔线) 2023-03-04