让我们说我有一个嵌套文档与这个结构:{_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中选择嵌套文档?
基础教程推荐
猜你喜欢
- C#中BitConverter.ToUInt16()和BitConverter.ToString()的简单使用 2023-02-07
- C#读写共享文件夹的方法 2022-12-11
- c# – 我试图在sql server中插入一个表但是它给出了一个错误,即关键字’of’附近的语法不正确 2023-11-23
- C#委托与匿名委托详解 2022-11-10
- opencvsharp瑕疵检测的实现示例 2023-06-05
- C# 反射与 Quartz 实现流程处理详情 2023-05-05
- Unity3D实现扭动挤压浏览效果 2023-01-16
- ASP.NET Core 中的Main方法详解 2023-01-28
- C#获取打印机列表方法介绍 2023-06-21
- C#从数据库读取图片并保存的两种方法 2023-03-29