我正在使用MongoDB的C#驱动程序,我让QueryDocument使用Query.Add查询字符串,但我正在尝试动态构建它(如果我正在使用Add for =一个值,那就有效。我想做大于或小于日期检查(动态)。请参阅下面的代码。
我想进行查询。添加事件(或其他一些事件)以添加到日期时间检查的查询大于或小于。
注意:我可能会在下面的其他位置添加更多值进行搜索,所以我知道如果我只是搜索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)
);
}
答案 0 :(得分:0)
如果要查询多行,请尝试这样做:
收集您的查询数据:
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);
之后你可以使用你的查询:)
我希望我可以帮助解决你的问题。