c# - 获取行号MongoDB c#
问题描述
考试结束后,我正在获取单个候选人的考试结果详细信息。使用 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;
}
使用此代码,我仅获取候选人详细信息如何获取排名(行)?
解决方案
我不认为您可以直接获取行号,但是您可以使用两个查询,一个获取候选人,一个获取总分数比所需候选人多的候选人的数量,最后加上一个计数来获得排名候选人的。
推荐阅读
- reactjs - 如何将 Better-sqlite3 与电子反应样板一起使用
- python - rdfLib 将单个反斜杠转换为多个反斜杠
- python - 如何将字符串列表保存在变量中?
- python - 变量重新分配期间的 Python 内存管理
- python - 为什么我不能将一个 numpy 数组除以(或乘以)一个标量?
- ios - Firebase 云通知显示 0 打开 0 点击
- python - 在聊天机器人中实现问题建议
- php - 从请求中获取 2 个变量并过滤资源集合
- duplicates - 应用转换后尝试识别重复值时,Power Query 无法识别正确的列名
- python-3.x - 每次调用时加 1 的函数 - Pytho