我正在为 MongoDB 使用 C# 驱动程序,并且我有 QueryDocument 正在使用 Query.Add 查询字符串,但我正在尝试动态构建它(如果我正在为 = 一个值添加,它会起作用。我想做大于或小于日期检查(动态)。请参阅下面的代码。
我想做一个查询。添加事件(或其他事件)以添加到日期时间检查大于或小于的查询中。
注意:我可能会添加更多的值来搜索其他值而不是下面的值,所以我知道如果我只搜索 LoanNumber 我可以忽略日期/时间,但我想建立多个搜索条件。
现在我只需要比使用 C# 驱动程序更好/更少,但是指向我可以在哪里执行其他操作(如正则表达式或其他操作)的指针/帮助会有所帮助但不是必需的(我可以找到这些用于通用 MongoDB 搜索和其他环境只是不是 C# 驱动程序)。
var query = new QueryDocument();
// check if there is anything in the loan number field and if so query that
string LoanNumber = txtLoanNumber.Text.ToString();
string StartDate = txtStatusChangeStartDate.Text.ToString();
string EndDate = txtStatusChangeEndDate.Text.ToString();
if (!string.IsNullOrEmpty(LoanNumber))
{
query.Add("LoanStatusAddedEvent.LoanNumber", LoanNumber);
}
if (!string.IsNullOrEmpty(StartDate))
{
query.Add("LoanStatusAddedEvent.StatusChangeDate", StartDate);
}
if (!string.IsNullOrEmpty(EndDate))
{
query.Add(
-- saw this online to do it but it was a direct query and not adding to the Query.add
Query.LT("LoanStatusAddedEvent.StatusChangeDate", EndDate)
);
}
最佳答案
如果你想查询多行尝试这样做:
收集您的查询数据:
var queryList = new List();
queryList.Add(Query.EQ("Attributes.AttributeName", attribute.AttributeName)); queryList.Add(Query.EQ("Attributes2.AttributeName2", attribute2.AttributeName2));
构建您的查询:
var query = new QueryBuilder(); query.And(queryList);
之后你就可以使用你的查询了:)
希望能帮到你解决问题。
关于c# - MongoDB C# Driver QueryDocument 大于或小于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26912470/