.net - 在 mongodb 中组合过滤器
问题描述
public class Page
{
public string Title {get;set;}
public bool IsHomePage {get;set;}
}
在存储库中,我使用 Sample 来检索文档
return await db.myCollection
.Aggregate()
.Match(filter)
.ToListAsync();
是否可以扩展此查询以返回属性
IsHomePage
设置为true
的所有文档,其余文档IsHomePage
设置为false
;
var filter = Builders<Post>.Filter.Eq(x => x.IsHomePage, true);
var homePageDocsFilter = await db.myCollection
.Aggregate()
.Match(filter)
.ToListAsync(); // can this be in-memory call?
var filter2 = Builders<Post>.Filter.Eq(x => x.IsHomePage, false);
var otherDocs = await db.myCollection
.Aggregate()
.Match(filter2)
.ToListAsync(); // can this be in-memory call?
如何结合以上两个过滤器?
return await db.myCollection
.Aggregate()
.Match(COMBINED_FILTER)
.ToListAsync();
解决方案
如何结合以上两个过滤器?
键入的选项:
var filter = Builders<Post>.Filter.Eq(x => x.IsHomePage, true) | Builders<Post>.Filter.Eq(x => x.IsHomePage, false);
var filter = Builders<Post>.Filter.Or(Builders<Post>.Filter.Eq(x => x.IsHomePage, false), Builders<Post>.Filter.Eq(x => x.IsHomePage, true))
Sort
如果您需要特殊订购,请添加阶段
推荐阅读
- php - 在 Wordpress 的查询集中使用运算符 LIKE
- firebase - Flutter 中的云函数异常
- python - pd.read_excel() 用 `nan` 字符串替换空格, pd.read_csv() 使用 numpy.nan
- batch-file - 通过批处理文件调用带有变量的命令
- html - Bootstrap:如何在间隙之间垂直对齐 4 列后跟 3?
- reactjs - 语义 UI - 使用图标元素导航到外部链接
- php - 在 Woocommerce 的订单支付页面上询问并保存账单信息
- codeigniter - 未定义的属性: Main::$upload , Codeigniter
- c# - 使用 C# 的 JWT 上的 DocuSign 'invalid_grant' 错误
- java - 让一个方法在我的游戏的方法 java 中运行?