C# Mongodb 查找集合中的最近时间

本文关键字:最近 时间 集合 Mongodb 查找 | 更新日期: 2023-09-27 18:32:28

我有一个包含DateTime的集合。

public class Trade
{
        public ObjectId Id { get; set; }
        public DateTime Expiary { get; set; }
}

我正在使用 c# 驱动程序,我想从 Trade 集合中获取最接近的到期。在 mongodb 中是否有可能将最接近给定日期的日期带到给定日期?更新类似的东西

collection.FindClosest(x => x.Expiary , DateTime.Now.AddDays(-1))

C# Mongodb 查找集合中的最近时间

如果我理解正确,"最近日期"可以被认为是:

        var record = tests.Find(p => p.Date <= closestTo)
            .SortByDescending(p => p.Date)
            .FirstOrDefault();

当然,可能会有一个文档的日期"更接近"您正在寻找的更高界限,但"未来"到您的过滤器,在这种情况下,您将跳过并获取最接近的较旧的日期。如果你的要求真的要求你得到那件东西,我必须说我不知道这样做的"Mongo方式"。可以通过运行此查询两次来完成,第二次顺序颠倒(和 .日期>最近到),并在进程中验证两个对象中的哪一个最接近。