【问题标题】:MongoDB Schema for ranges范围的 MongoDB 模式
【发布时间】:2018-02-13 21:52:58
【问题描述】:

我正在尝试构建一个 mongoDB 模式来表示游戏应用程序的排名范围。

Rank 1 : 1000 Points
Rank 2 : 500 Points
Rank 3 : 250 Points
Rank 4-10 : 50 Points
Rank 11-15 : 25 Points 

稍后游戏完成后将根据上述模式分配积分,除此之外,我的应用程序中的所有内容都已完成,我对这个实现完全空白,虽然我已经尝试过,但不知道它是否正确方式。

{
contestId : 98787676
entry_Points : 250 Points
MaxNoOfPlayers : 25
MinNoOfPlayers : 10
ranks : [
 {rank : 1, points : 1000},
 {rank : 2, points : 500},
 {rank : 3, points : 250},
 {rank : 4-10, points : 50}
 {rank : 11-15, points : 25}]
}

在这里,我假设我可以轻松进入第三名。如果这是最好的方法,任何人都可以提出任何更好的方法,请建议我将如何访问 4-10 或 11-15 等级等级并将它们分配给各个玩家。

【问题讨论】:

    标签: mongodb mongoose mongoose-schema


    【解决方案1】:

    您的问题并不完全清楚,但也许我明白了。在您的 rank[] 中,您可以指定范围内的最小值和最大值。

    ranks : [
     {minrank : 1, maxrank: 1, points : 1000},
     {minrank : 2, maxrank: 2, points : 500},
     {minrank : 3, maxrank: 3, points : 250},
     {minrank : 4, maxrank: 10, points : 50}
     {minrank : 11, maxrank: 15, points : 25}]
    }
    

    【讨论】:

    • 为了您更好地理解,这是一个游戏,玩家从钱包中收取一定数量的积分作为入场费,然后在游戏结束后我们得到每个玩家的排名.....现在我需要根据他们的等级分配积分到玩家钱包。问题是在一场比赛中可能有 1,000,00 名玩家,即使排名为 25,000 的玩家也可以获得一些积分,所以我将积分分配给范围内的玩家。积分将分配给比赛的类型......我坚持的这个模式就是这样。
    • 我喜欢您的回答,将尝试实施,如果成功将其标记为其他人的答案,感谢您的宝贵时间。
    猜你喜欢
    • 1970-01-01
    • 2014-09-25
    • 2021-12-27
    • 2014-03-24
    • 2012-03-30
    • 2014-02-26
    • 1970-01-01
    • 2020-10-25
    • 2022-10-17
    相关资源
    最近更新 更多