Mongo C#driver - 使用嵌套动态构建过滤器

时间:2015-08-26 12:56:01

标签: c# mongodb

假设类似嵌套表达式

  

其中a = 1 AND(b = 4 OR b = 5)

如何使用多个Builders对象并使用这样的表达式构建完整的过滤器?

3 个答案:

答案 0 :(得分:53)

Builders是非常灵活的课程,它还覆盖了操作符" & = AND"和" | = OR"

你的例子将是

var filter = Builders<User>.Filter.Eq(x => x.A, "1");
filter = filter & (Builders<User>.Filter.Eq(x => x.B, "4") | Builders<User>.Filter.Eq(x => x.B, "5"));

答案 1 :(得分:4)

您可以像这样简单地使用.....

var filter = Builders<Rental>.Filter.Where(s => s._id== id && s.Price==1500);

答案 2 :(得分:2)

如果您想有条件地添加更多过滤器,请使用此方法:

.onLoad