c# - 解构表达式> 并收集到 .Intersect()
问题描述
我有一个 MongoDB 查询的抽象,通过它传递一个表达式树来过滤从数据库中检索到的文档。例如:
var filterExpression = x => x.IsPublished && x.Topics.Contains("fish");
MyCollection.Get(filterExpression);
在执行此操作时,我会执行以下操作:
_collection.Find(filterExpression).ToListAsync();
我也有一个假的,用于测试:
Collection.Where(expression.Compile());
现在我需要做一个相交查询,例如让我获得所有已发布的文档,并且有关于“鱼”或“芯片”的主题。
在 mongo 中,我必须使用:
Builders<TDAO>.Filter.AnyIn(setInDocument, setToIntersect)
其中参数具有类型:
Expression<Func<TDAO, IEnumerable<string>>> setInDocument
IEnumerable<string> setToIntersect
有没有办法从这些类型获得一个相交,例如:
.Where(setInDocument.Intersect(setToIntersect).Any())
解决方案
推荐阅读
- raku - 传递给子程序的参数数量不正确
- javascript - 根据一个对象和另一个字符串数组填充一个数组
- oracle - 核心脚手架 Oracle DB 将提供多个 ID(主键)作为结果
- asp.net-web-api - scrollIntoView 角度应用程序
- html - 将预加载器添加到响应式引导卡图像?
- python - 借助函数提取字符串
- netlogo - 如何在netlogo中设置日期
- git - git reset --hard HEAD~1 和 git reset HEAD~1 --hard 之间的区别?
- javascript - OpenLayers:导入 GPX 数据后如何在标记中着色?
- jquery - 如何统一 jQuery 图片脚本?