Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用c获取具有id比较(gt/lt)的所有MongoDB条目#_C#_Mongodb_.net Core - Fatal编程技术网

C# 使用c获取具有id比较(gt/lt)的所有MongoDB条目#

C# 使用c获取具有id比较(gt/lt)的所有MongoDB条目#,c#,mongodb,.net-core,C#,Mongodb,.net Core,我有这样一个MongoDB连接: public SessionRepository() { Client = new MongoClient(); Database = Client.GetDatabase("mnemosyne"); Collection = Database.GetCollection<SessionModel>("session"); } public List<SessionModel> Get() { var q

我有这样一个MongoDB连接:

public SessionRepository()
{
    Client = new MongoClient();
    Database = Client.GetDatabase("mnemosyne");
    Collection = Database.GetCollection<SessionModel>("session");
}
public List<SessionModel> Get()
{
    var query = this.Collection.Find(new BsonDocument()).ToListAsync();
    var sessions = query.Result;;
    return sessions;
}
public List<SessionModel> GetSinceLast(string id) 
{
    ObjectId oid = new ObjectId(id);
    //var filter = Builders<BsonDocument>.Filter.Gt("_id", oid).ToBsonDocument();
    //var filter = Builders<BsonDocument>.Filter.Gt(x => x["_id"], oid).ToBsonDocument();
    var query = this.Collection.Find(filter).ToListAsync();
    return query.Result;
}
我从GetSinceLast方法返回0个结果。我还尝试将Gt切换到Lt,但仍然为0,因此我怀疑过滤器/查询有问题

我正在使用
mongocsharpdriver 2.4.1

方法获取过滤器定义或表达式。因此,请将过滤器更新为

// Filter Definition
var filter = Builders<BsonDocument>.Filter.Gt("_id", oid);
var filter = Builders<BsonDocument>.Filter.Gt(x => x["_id"], oid);
//过滤器定义
var filter=Builders.filter.Gt(“\u id”,oid);
var filter=Builders.filter.Gt(x=>x[“\u id”],oid);

这里有更多的例子

谢谢。它引导我走上正确的道路。您的建议生成了另一个编译错误:
参数2:无法从“MongoDB.Driver.FilterDefinition”转换为“System.Linq.Expressions.Expression”
。通过将构建器中的
BsonDocument
替换为
SessionModel
,我使一切都按预期工作。因此,我的最终定义是:
var filter=Builders.filter.Gt(“\u id”,oid)