[英]Compute a field in Mongo DB
嘿,伙计们,这是我收藏中的一份文件。 { Player_Name: Sandeep Nair Player_TotalWeightedPoints: 80 Player_Rank: 23 }
此类文件有近 200 份。 Player_Rank 字段是总加权点数的 function,按降序排列。 权重最高的玩家排名第一,依此类推。 我有 2 个用例
如何在 Mongo DB 中计算此 Rank 字段。 ? 有人可以请放一些光。
你的问题不是很清楚,但我确实有一些建议给你。
对于案例 1:
如果您为每个玩家分配一些 id 以获得与他相关的其他相关详细信息,那会更好。
现在,假设玩家 A 使用 uid:123 登录,您可以使用
var data = db.player.find({}, {uid:123});
var rank = data.Player_Rank;
玩家的排名将存储在排名变量中,可以在页面的任何地方使用。
对于案例 2:
插入点的输入后,根据点对列表进行排序。
db.player.find().sort({Player_TotalWeightedPoints : -1})
现在我们已经对列表进行了排序,现在我们可以使用从 1 到 200 的范围来分配玩家排名
db.players.aggregate([{
$project: {
"Player_Rank": { $range: [ 1, 200] }
}
}])
这是最好的,我可以通过查看您的问题来提供建议。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.