c# - 如何在 C# 中从 mongo 过滤时仅比较 dateTime 的日期?

标签 c# mongodb asp.net-core mongodb-.net-driver

在名为 Recommendation 的模型类中定义的日期时间属性是

public DateTime? DueDate { get; set; }

我正在尝试从 mongo 过滤和检索数据,其中字段 DueDate 只匹配当前日期,不包括时间。

我做了一个过滤表达式用于在mongo上查询。

var dateFilter = Builders<Recommendation>.Filter.Eq(x => x.DueDate, DateTime.Now)

DateTime.Now 还返回带有时间戳的日期。

同样在 mongo 中,DueDate 字段值为 2022-12-08T05:00:00.000+00:00

如何修改上面的过滤器查询以仅基于日期而不是时间戳从 mongo 过滤和获取记录?

最佳答案

您可以将它们转换为字符串:

var dateFilter = Builders<Recommendation>.Filter.Eq(x => x.DueDate.ToString("yyyyMMdd"), DateTime.Now.ToString("yyyyMMdd");

对此性能不做任何 promise 。

关于c# - 如何在 C# 中从 mongo 过滤时仅比较 dateTime 的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74723110/

相关文章:

c# - SQL 查询后重定向页面

javascript - 收集符合时间的话会发生 meteor 火事件

node.js - 在 Node js中使用findOneAndUpdate更新数组中的对象

c# - ASP .NET CORE 简单的参数验证

c# - MS Chart X 轴标签重复 - 显示单个项目的多个点 [Range Bar]

c# - 如何在 WPF 中暂停绑定(bind)的 UI 更新?

c# - 将文件保存到虚拟目录

javascript - 从 id 获取与 NodeJS 中的 mongoose 匹配的对象子数组的父对象

reactjs - react + ASP.Net 核心 3 : CORS Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header

c# - DbParameterCollection不包含AddWithValue的定义