C# 从SQL转换为.net中的MongoDB筛选器查询

C# 从SQL转换为.net中的MongoDB筛选器查询,c#,asp.net,.net,mongodb,C#,Asp.net,.net,Mongodb,我正在尝试将基本查询从SQL转换为Mongo,这是SQL: 从x中选择top1*,其中,按d desc的顺序依次为i=5、b=6和c=11 到目前为止,我所拥有的: var builder = Builders<BsonDocument>.Filter; var filter = builder.Eq("a", 5) & builder.Eq("b", 6) & builder.Eq("c", 11); List<BsonDocument> i = get

我正在尝试将基本查询从SQL转换为Mongo,这是SQL:

从x中选择top1*,其中,按d desc的顺序依次为i=5、b=6和c=11

到目前为止,我所拥有的:

var builder = Builders<BsonDocument>.Filter;
var filter = builder.Eq("a", 5) & builder.Eq("b", 6) & builder.Eq("c", 11);
List<BsonDocument> i = getCollection("x").Find(filter).ToList();
if (i.Count > 0)
{
   id = i[0].GetElement("id").Value.ToInt32();
}
return id;

我是空的,数据库包含所需的数据,任何帮助都非常感谢

我无法忍受c中的bsondocuments,因此我要创建一个类来进行如下映射:

公共类项目 { 公共int a{get;set;} 公共int b{get;set;} 公共int c{get;set;} 公共int d{get;set;} } 然后发出如下查找查询:

var filter=Builders.filter.Wherei=>i.a==5&&i.b==6&&i.c==11; var sort=Builders.sort.degendingi=>i.d; var projection=Builders.projection.Expressioni=>i.id; var id=collection.Findfilter Sortsort先生 .Limit1 .项目预测 托利斯先生 .SingleOrDefault;
这里有一个方法可以在不增加建设者噪音的情况下完成这项工作。

我无法忍受c语言中的bsondocuments,因此我要创建一个类来进行如下映射:

公共类项目 { 公共int a{get;set;} 公共int b{get;set;} 公共int c{get;set;} 公共int d{get;set;} } 然后发出如下查找查询:

var filter=Builders.filter.Wherei=>i.a==5&&i.b==6&&i.c==11; var sort=Builders.sort.degendingi=>i.d; var projection=Builders.projection.Expressioni=>i.id; var id=collection.Findfilter Sortsort先生 .Limit1 .项目预测 托利斯先生 .SingleOrDefault;
这里有一个方法可以在不增加建设者噪音的情况下完成此操作。

这就是我成功获得所需响应的方法:

var filter = "{$and : [{a : 5},{b : 6},{c : 11}]}";
SortDefinition<BsonDocument> sort = Builders<BsonDocument>.Sort.Descending("d");
List<BsonDocument> l = getCollection("x").Find(filter).Sort(sort).Limit(1).ToList();

这就是我成功获得所需响应的原因:

var filter = "{$and : [{a : 5},{b : 6},{c : 11}]}";
SortDefinition<BsonDocument> sort = Builders<BsonDocument>.Sort.Descending("d");
List<BsonDocument> l = getCollection("x").Find(filter).Sort(sort).Limit(1).ToList();

你能从控制台发布你的数据结构吗?db.x.find能否从控制台发布数据结构?db.x.find