Mongo c#驱动程序-查找最近的日期

本文关键字:最近 日期 查找 驱动程序 Mongo | 更新日期: 2023-09-27 18:16:23

我有一个下面的集合(为了简洁省略了不同的成员)

public class Payslip {
  public int EmployeeID { get;set; }
  public DateTime Date { get; set; }
}

使用Mongo c#官方驱动程序,我需要找到给定员工最近的Payslip,或者更具体地说是最近的日期。

为什么我不想用linq查询这样做?

payrollItemCollection.AsQueryable().Where(p=>p.EmployeeID==input.EmployeeID).Max(p=>(DateTime?)p.Date);

Mongo c#驱动程序-查找最近的日期

不,没有理由不这样做。
您可以在文档中看到MongoDB c#驱动程序支持LINQ的Max方法,并将其转换为相关的MongoDB查询。它基本上相当于:

payrollItemCollection.AsQueryable().Where(p=>p.EmployeeID == input.EmployeeID).OrderByDescending(p => p.Date).First(p => p.Date);