使用C#在mongodb中查找x个月以上的文档

问题描述 投票:0回答:1

我正在mongodb中查询X个月以上的文档。我没有明确的创建日期字段,也没有权限。

我尝试使用Mongo ObjectId的CreationTime属性,但出现异常System.InvalidOperationException: Unable to determine the serialization information for f => f.Id.CreationTime.

我做了一个查询功能:

public async Task<int> GetReportCountXmonths(string name, int months)
{
    await GetCollection<Clients>()
        .Find(Builders<Clients>.Filter.Eq(d => d.name, name) 
            & Builders<Clients>.Filter.Gte(f => f.Id.CreationTime, DateTime.Now.AddMonths(-(months))))
        .CountDocumentsAsync();
}

问题:如何使用C#在MongoDB集合中查找X个月以上的文档?

c# mongodb mongodb-query mongodb-.net-driver
1个回答
0
投票

MongoDB不跟踪集合的创建日期。但是,自己完成此操作确实很容易。在mongdb集合中添加createddate字段。另一种方法是使用暗含时间戳记的objectId,但这不是一致的方法。

© www.soinside.com 2019 - 2024. All rights reserved.