INoSqlProvider provider = NoSqlManager.Create("CloudTable");
IMongoCollection
#region 查询条件拼接
switch (listquerymodel.querytype)
{
case "equal": //等于
if (listquerymodel.fieldtype == "Datetime")
{
list.Add(Builders
}
else if (listquerymodel.fieldtype == "Number" || listquerymodel.fieldtype == "Money" || listquerymodel.fieldtype == "Formula")
{
list.Add(Builders
}
else
{
list.Add(Builders
}
break;
case "notequal": //不等于
list.Add(Builders
break;
case "like": //包含
list.Add(Builders
break;
case "orlike":
string[] orlike_values = listquerymodel.value.Split(‘|‘);
List
for (int i = 0; i < orlike_values.Length; i++)
{
orlikeList.Add(Builders
}
list.Add(Builders
break;
case "andlike":
string[] andlike_values = listquerymodel.value.Split(‘|‘);
List
for (int i = 0; i < andlike_values.Length; i++)
{
list.Add(Builders
}
break;
case "notlike":
string[] notlike_values = listquerymodel.value.Split(‘|‘);
List
for (int i = 0; i < notlike_values.Length; i++)
{
list.Add(Builders
}
break;
case "null":
FilterDefinition
list.Add(Builders
break;
case "notnull":
list.Add(Builders
break;
case "or":
string[] or_values = listquerymodel.value.Split(‘|‘);
List
for (int i = 0; i < or_values.Length; i++)
{
orList.Add(new BsonDocument("field." + listquerymodel.field + "."+ queryconditiontype, or_values[i]));
}
list.Add(Builders
break;
case "greater":
if (listquerymodel.fieldtype == "Datetime")
{
list.Add(Builders
}
else
{
list.Add(Builders
}
break;
case "greaterequal":
if (listquerymodel.fieldtype == "Datetime")
{
list.Add(Builders
}
else
{
list.Add(Builders
}
break;
case "less":
if (listquerymodel.fieldtype == "Datetime")
{
list.Add(Builders
}
else
{
list.Add(Builders
}
break;
case "lessequal":
if (listquerymodel.fieldtype == "Datetime")
{
list.Add(Builders
}
else
{
list.Add(Builders
}
break;
case "between":
string[] between_values = listquerymodel.value.Split(‘|‘);
string between_value1 = between_values[0];
string between_value2 = between_values[1];
if (listquerymodel.fieldtype == "Datetime")
{
list.Add(Builders
list.Add(Builders
}
else
{
list.Add(Builders
list.Add(Builders
}
break;
default:
break;
}
#endregion
result = collection.Find(Builders<FormMongoDBModel>.Filter.And(list)).Skip(pageskip).Limit(pagesize).ToList();
来源: