C# 如果第一个查询没有结果,MongoDB将使用另一个查询
我想用operatorC# 如果第一个查询没有结果,MongoDB将使用另一个查询,c#,mongodb,mongodb-query,C#,Mongodb,Mongodb Query,我想用operator$all在我的MongoDB中查询一个字段,但是如果没有找到结果,我想用operator$in再次查询它 下面是我现在做的事情 var q = Query.All("Field", new BsonArray(listRegexSearch)); var results = collection.Find(q).ToList(); if (results.Count() == 0 || results == null) { q = Query.In("Field",
$all
在我的MongoDB中查询一个字段,但是如果没有找到结果,我想用operator$in
再次查询它
下面是我现在做的事情
var q = Query.All("Field", new BsonArray(listRegexSearch));
var results = collection.Find(q).ToList();
if (results.Count() == 0 || results == null) {
q = Query.In("Field", new BsonArray(listRegexSearch))
results = collection.Find(q).ToList();
}
foreach(var res in results) {
... // Code to process the results
}
我是否可以在一个查询中实现它,而不必像我现在所做的那样使用if语句如果第一个查询的结果为0,您只想执行第二个查询,因此将查询一起进行是不合适的?如果是这种情况,那么您必须在检查第一个查询是否没有结果后执行两个查询。@wdberkeley,那么在检查第一个查询是否返回0结果或null后执行第二个查询就没有其他方法了?这取决于我第一条评论中对我的问题的回答。