Advertisement

c# mongodb or查询_MongoDB 多条件查询实现(C#)

阅读量:

dataAccessMongo dam = new dataAccessMongo();

MongoCollection coll = dam.Open();

//QueryDocument query = new QueryDocument();

//var query = Query.EQ("destination_number", destination_number);

List list = new List();

if (source_number != "") list.Add(Query.EQ("source_number", source_number));

destination_number不为空时(即destination_number != ""),向列表中追加一个查询项(使用Query.EQ("destination_number", destination_number))。

if (DateTime.IsNullOrEmpty(talk_datetime1)) InList.Add($" talk_datetime", QueryInclude.gte(
DateTime.ParseAsync(t谈_datetime1),
AddHoursAsync(8)
));

当talk_datetime2不为空时 talk_datetime = DateTime.Parse(talk_datetime2).AddHours(8) list.Add(Query.LTE("talk_datetime", talk_datetime))

if (talk_second != "") list.Add(Query.GTE("talk_second", int.Parse(talk_second)));

if (department != "") list.Add(Query.Matches("department", department));

var query = Query.And(list);

//if (source_number != "") query.Add("source_number", source_number);

//如果 destination_number 不为空,则在查询中添加 "destination_number"

通话时间

//if (talk_datetime1 != "" || talk_datetime2 != "")

//{

// BsonDocument bsonTalkTime = new BsonDocument();

if ((talk_datetime1 == null) || (talk_datetime1.Trim().Length == 0)) {
return;
} else {
bsonTalkTime.Add("{gte}", DateTime.TryParse(talk_datetime1, @"yyyyMMdd HH:mm:ss.SSS") ?
DateTime.Parse(talk_datetime1) : null);
}

// 如果talk_datetime2不为空,则向bsonTalkTime插入一个新记录
if (talk_datetime2?.NET Core datetime?.IsNullOrEmpty != null) {
bsonTalkTime.InsertIfNotExists($"insertAt", new {
TalkDateTime = DateTime.Parse(talk_datetime2)?.AddHours(8)
});
}

// query.Add("talk_datetime", bsonTalkTime);

//}

时长

//if (talk_second != "")

//{

// BsonDocument bsonTalkSecond = new BsonDocument();

// bsonTalkSecond.Add("$gte", int.Parse(talk_second));

// query.Add("talk_second", bsonTalkSecond);

//}

//if(department != "")

// query.Add("department", new BsonRegularExpression(new Regex("/."+department+"./")));

int i = 0;

string sHTML = "";

foreach (BsonDocument bDocQuery in coll.FindAs(query))

{

sHTML += "

";

当bDocQuery包括'transfer_serial'键,并且该键对应的转为字符串等于'87883522'时

sHTML += "

呼出";

else

sHTML += "

呼入";

//sHTML += "

$SsgCRM_GetTelephoneRecord.aspx? id= %s& %s 听录音

$SsgCRM_GetTelephoneRecord.aspx? id= %s& %s 听录音

sHTML += "

播放 " + bDocQuery["source_number"].ToString() + "";

sHTML += "

" + bDocQuery["destination_number"].ToString() + "";

sHTML += "

" + bDocQuery["talk_datetime"].ToString() + "";

sHTML += "

" + bDocQuery["talk_second"].ToString() + "";

if (bDocQuery.Contains("department"))

sHTML += "

" + bDocQuery["department"].ToString() + "";

else

sHTML += "

&nbsp";

sHTML += "

g729" +

" wav

";

sHTML += "

";

i++;

}

dam.Close();

全部评论 (0)

还没有任何评论哟~