我目前工作中的代码使用C#蒙戈司机和我做很多简单的东西像这样从列表中获取结果<IMongoQuery>
var query = Query.EQ("SomeBooleanField", false);
return Collection.FindAs<MyType>(query);
我必须写一个查询是动态的要求,即AND子句的数量不同。所以我使用的是这样的 -
var andList = new List<IMongoQuery>();
if (whatever)
andList.Add(Query.EQ("Field1", true));
if (suchandsuch)
andList.Add(Query.EQ("Field2", false));
var query = new QueryBuilder<MyType>();
query.And(andList);
所以我的问题是,我该怎么才能得到一些结果了它与查询吗?我想要一个列表或IEnumerable。
我在网上找不到任何有用的示例,驱动程序文档不是太有用。任何帮助感激地赞赏。
你可以发表你的整个代码。你不能把'查询'放在一个集合中。查找(查询).ToListAsync(); ?? – Newton
嗨,由于客户端的IP问题,无法发布代码。但是,如果我这样做 - var query = new QueryBuilder(); query.And(andList); return Collection.FindAs (query); 我收到一个错误 - MongoDb.Driver.Builders.QueryBuilder 不能分配给参数类型'MongoDb.Driver.IMongoQuery'。 ...(也是我正在使用的'Collection'变量没有'Find'方法)。 –
EyeHefBee
我已经在答案中发布了示例代码。请对此评论 – Newton