【发布时间】:2020-01-25 11:10:47
【问题描述】:
我有一个对象集合,其中包含一个 List 类型的属性 其中 Luggage 的结构如下:
public class Luggage
{
public float MaxWeight { get; set; }
public LuggageType Type { get; set; }
}
public class MyObject
{
public List<Luggage> Luggages{get;set;}
}
其中 LuggageType 是一个枚举。 鉴于我有一个行李类型列表
List<LuggageType> LuggageTypes
如何获取我的对象集合中的每个对象,这些对象的行李包含行李类型列表中存在的行李。
我尝试了几种解决方案,但下面是我认为最接近解决方案的一种。
这是我为检索我想要的内容而创建的过滤器:
Builders<MyObject>.Filter.AnyIn<LuggageType>(a => a.Luggages.Select(l => l.Type), annEntityaAttr.LuggageTypes);
问题是,MongoDB 返回一条错误消息,指出它无法计算表达式 a => a.Luggages.Select(l => l.Type)
所以我不明白,因为它是 Linq 我虽然这应该只是工作。
我想我需要某种投影,但我阅读了文档并没有找到一种方法来投影要查询的元素的属性
【问题讨论】:
标签: c# mongodb projection