【发布时间】:2023-03-18 14:14:01
【问题描述】:
我在 考试。使用 c# 驱动程序存储在 mongodb 中。这 集合具有 TotalMarks 字段,该字段与在中获得的标记一起存储 那个考试。
很遗憾,该集合没有排名字段,因为标记 计算不按顺序进行
我要做的是按总分对集合进行排序,并获取我选择的候选人的位置(排名)。
public ExamCandidateResult ExaminationGetCandidateResultStatus( Guid examinationId, Guid candidateId)
{
var con = new MongoClient(DBConnection.ExamConnectionString);
var db = con.GetDatabase(ExamDB);
var collection = db.GetCollection<ExamCandidateResult>("Examination");
var filter = Builders<ExamCandidateResult>.Filter.Eq("ExaminationID", examinationId.ToString())
& Builders<ExamCandidateResult>.Filter.Eq("CandidateID", candidateId.ToString());
var data = collection.Find(filter).FirstOrDefault();
return data;
}
使用此代码,我仅获取候选人详细信息,我该如何获取 它的排名(行)?
【问题讨论】:
-
我不太了解你需要什么,但我想你至少可以通过更强大的聚合框架达到你需要的目标:docs.mongodb.com/manual/aggregation。请提供更多详细信息以便继续
标签: c# mongodb aggregation-framework mongodb-.net-driver mongodb-compass