c# - 来自文档列表、mongodb、mongo C# 驱动程序的特定数组元素
问题描述
我在检索特定数组元素时遇到问题。
集合包含以下类型的订单记录。
public class Order
{
public int orderId {get; set;}
public Address addr {get; set;}
public List<Product> products {get; set;}
}
public class Address
{
public string lineOne {get; set; }
public string city {get; set; }
}
public class Product
{
public int productid { get; set; }
public string name { get; set; }
public string description {get; set;}
}
我正在尝试使用地址和订单号查找一个产品 ID 详细信息。但我得到了所有的产品
var orderBuilder = Builders<Order>.Filter;
var productBuiler = Builders<Product>.Filter;
var query = orderBuilder.ElemMatch(c=>products, productBuiler.Eq(c=>c.productId, 123));
var result = await _orderCollection.Find(query).FirstOrDefaultAsync();
通过上面的查询,我得到了整个订单,而不是我只需要匹配产品和地址的详细信息。
解决方案
推荐阅读
- c# - 如何解决:无法加载或组装 Npgsql 或其依赖项之一
- java - FactoryFinder 性能/不良缓存
- javascript - 悬停时自动播放视频的图像缩略图
- angular - 找不到具有名称的控件
- java - 第一次启动应用程序时不显示不同的布局
- flutter - 基于请求/响应的 Flutter 隐藏元素 - 在构建期间调用错误 setState() 或 markNeedsBuild()
- java - Spring——在存在“@Query”注释的情况下,通过接口方法顺序而不是名称来解析 JPA 投影?
- amazon-web-services - 使用 ec2 实例标签限制对 S3 存储桶的 ec2 实例访问
- php - Laravel 可选参数缺少必需参数
- php - 我正在使用更新 laravel 中的多行,但它给了我错误