让我们说我有一个嵌套文档与这个结构:{_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中选择嵌套文档?


基础教程推荐
猜你喜欢
- 旧项目升级新版Unity2023导致Visual Studio无法使用的问题 2023-05-11
- Unity制作小地图和方向导航 2023-01-11
- C#基于WebSocket实现聊天室功能 2023-05-21
- C#与java TCP通道加密通信实例 2023-05-05
- C# CultureInfo类案例详解 2023-04-27
- 详解Unity中Mask和RectMask2D组件的对比与测试 2023-04-21
- C#实例化和静态类对象调用对比 2023-05-31
- C# 扩展方法小结 2023-03-09
- C#集合之链表的用法 2023-05-30
- C#实现实体类和XML的相互转换 2023-05-22