通过C#驱动调用Mongodb数据,CreatTime类型为DateTimeOff。
1 DateTimeOffset dateTime = DateTimeOffset.Parse("2017-05-22"); 2 Expression<Func<News, bool>> exp = x => ((x.CreateTime >= dateTime);
当在本地调取数据的时候,能按照时间把数据调取出来。当调取服务器上数据的时候数据就为空。去掉时间显示数据就调出来了。
是不是跟DateTimeOff类型有关系,以前都用DateTime。
可能是因为服务器与你本机的时区设置不一样,DateTimeOffset 是包含时区信息的时间格式,建议将 "2017-05-22"
改为 "2017-05-22 +8"
时区是一样的,看了一些Stackoverflow上的类似问题,DateTimeOffset在存储到Mongodb上的时候变为了[ NumberLong(636623411155537109), 480]的数组,驱动直接通过时间查询不到数据。
@Impossible: 试试 stackoverflow 上的这个方法:
DateTimeOffsett compareTime = DateTimeOffsett.UtcNow.AddMinutes(-15);
var result = _collection.Find(Query.GT("CreationTimestamp.0", compareTime.Ticks)).Count();