首页 > 解决方案 > C# MongoDB 驱动程序仅按时间或日期搜索日期时间列

问题描述

我的 MongoDB 集合中有一个字段,称为:

{
    "EventDate" : ISODate("1974-10-28T13:41:06.499Z")
}

我希望能够单独按日期和单独时间进行搜索。例如:

public class SearchParams
{
    public DateTime? FromDate;
    public DateTime? ToDate;
    public TimeSpan? FromTime;
    public TimeSpan? ToTime;
}

Collection.Find(item => item.EventDate.Date >= searchParams.FromDate.Value.Date &&
                        item.EventDate.Date <= searchParams.ToDate.Value.Date &&
                        item.EventDate.TimeOfDay >= searchParams.FromTime.Value &&
                        item.EventDate.TimeOfDay <= searchParams.ToTime.Value);

但这似乎是不可能的,因为 MongoDB 驱动程序不支持item.EventDate.Date也不item.EventDate.TimeOfDay

那么,是否可以有一个 DateTime 字段并仅按日期或仅按时间搜索?

标签: c#mongodbmongodb-.net-driver

解决方案


推荐阅读