如图,匹配stockinfo中的code和name:
代码如下:
public static List<PA_AdjustStockHistory> GetAdjustStockHistoryByUserId(long userid, int productId, string stockCode, string stockName, DateTime dtStart, DateTime dtEnd, int pageIndex, int pageSize) { List<PA_AdjustStockHistory> palist = new List<PA_AdjustStockHistory>(); try { List<IMongoQuery> build = new List<IMongoQuery>(); if (userid > 0) { build.Add(Query.And(Query.EQ("TeacherID", userid))); } if (productId > 0) { build.Add(Query.And(Query.EQ("TeacherID", userid))); } BsonDocument b = new BsonDocument(); DateTime dt = DateTime.Now; //加上八小时解决时区问题 if (dtStart != DateTime.MinValue || dtEnd != DateTime.MinValue) { if (dtStart != DateTime.MinValue) { b.Add("$gt", dtStart.AddHours(8)); } if (dtEnd != DateTime.MinValue) { b.Add("$lt", dtEnd.AddHours(8)); } build.Add(Query.And(Query.EQ("AddTime", b))); } if (!string.IsNullOrEmpty(stockCode)) { build.Add(Query.ElemMatch("stockInfo", Query.EQ("StockCode", stockCode))); } if (!string.IsNullOrEmpty(stockName)) { build.Add(Query.ElemMatch("stockInfo", Query.EQ("StockName", stockName))); } var q = Query.And(build.ToArray()); IMongoSortBy sort = new SortByDocument("_id", -1); palist = MongoComm.MongoDataAccess.FindList<PA_AdjustStockHistory>("PA_AdjustStockHistory", q, sort, null, pageIndex, pageSize); } catch (Exception e) { } return palist; }