获取上个月的所有内部记录-MongoDB C#SDK

获取上个月的所有内部记录-MongoDB C#SDK,c#,mongodb,mongodb-.net-driver,C#,Mongodb,Mongodb .net Driver,我正在尝试使用C#SDK从我的MongoDB数据库中获取上个月有任何活动的所有用户 “我的用户记录”包含具有创建日期的统计记录列表(作为ObjctId) public class UserRecord { private string firstName; public ObjectId Id { get; set; } public List<ObjectId> Statistics {

我正在尝试使用C#SDK从我的MongoDB数据库中获取上个月有任何活动的所有用户

“我的用户记录”包含具有创建日期的统计记录列表(作为ObjctId)

public class UserRecord
{
    private string firstName;

    public ObjectId Id
    {
        get;
        set;
    }

    public List<ObjectId> Statistics
    {
        get;
        set;
    }
}
公共类用户记录
{
私有字符串名;
公共对象Id
{
得到;
设置
}
公开名单统计数字
{
得到;
设置
}
}
我的查询生成器函数如下所示:

static IMongoQuery GenerateGetLiveUsersQuery(DateTime lastStatistic)
{
        List<IMongoQuery> queries = new List<IMongoQuery>();

        queries.Add((Query<UserRecord>.GTE(U =>
             U.Statistics.OrderByDescending(x => x.CreationTime).First().CreationTime
               , lastStatistic)));

          ///.... More "queries.Add"...

        return Query.And(queries);           
}
静态IMongoQuery GenerateGetLiveUsersQuery(DateTime lastStatistic)
{
列表查询=新建列表();
querys.Add((Query.GTE(U=>
U.Statistics.OrderByDescending(x=>x.CreationTime).First().CreationTime
最后统计),;
///…更多“查询。添加”。。。
返回查询。和(查询);
}
不确定我做错了什么,但我在尝试构建查询(GTE查询)时收到en System.NotSupportedException错误消息

无法确定表达式的序列化信息: (用户记录U)=> Enumerable.First(Enumerable.OrderByDescending(U.Statistics,(ObjectId x)=>x.CreationTime)).CreationTime


下面的查询应该可以工作

var oId = new ObjectId(lastStatistic, 1, 1, 1);
var query = Query<UserRecord>.GTE(e => e.Statistics, oId);
var oId=新的ObjectId(lastStatistic,1,1,1);
var query=query.GTE(e=>e.Statistics,oId);
您可以根据您的截止日期
lastStatistic
创建
ObjectId
。然后,您可以查询UserRecord集合,以查找统计列表中的项大于您的
ObjectId
的任何记录