获取行号MongoDB c#

Posted

技术标签:

【中文标题】获取行号MongoDB c#【英文标题】:Fetch row number MongoDB c# 【发布时间】:2021-11-04 21:01:24 【问题描述】:

我在 考试。使用 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。请提供更多详细信息以便继续 【参考方案1】:

我不认为您可以直接获取行号,但您可以使用两个查询,一个获取候选人,一个获取totalMarks 多于所需候选人的候选人数,最后加上一个计数获取候选人的排名。

【讨论】:

嘿,你能检查一下link是否可行吗?

以上是关于获取行号MongoDB c#的主要内容,如果未能解决你的问题,请参考以下文章

如何使用C#在数组mongoDB中获取子文档

从 GoLang 中的 mongodb 获取最后插入的元素

从 GoLang 中的 mongodb 获取最后插入的元素

MongoDB:在Windows环境安装MongoDB

C# MongoDB:如何正确映射域对象?

mongoDB的安装和配置