使用Express和Mongodb查询API和数据库

我需要一些帮助,我的逻辑/方法请。 我想创build一个游戏服务器列表。 所以人们可以通过input来添加他们的服务器

title, IP, port, about. 

但是,在主页上我也想显示有多less玩家,以及它是否在线。 如果它离线我不想显示它。 现在,我可以查询一个返回类似string的api。

 {"players_online":22,"max_players":150,"gametype":"TNT"} 

这些值通常会每60秒更改一次。

将两者合并的最佳方法是什么? 我想将服务器基本信息存储在数据库中,但像players_online这样的东西以及服务器是否启动需要至less每60秒检查一次。

根据我的经验,两者都会导致大的网格,我build议以下build议:

作业1:更新所有用户的活动状态,可能你可以有一个CRON作业来检查你的用户是否在线,并更新数据库(我也不build议这样做,而是使用一些caching并定期更新caching) 。

作业2:创build将减less查询数据库的模式

 gameId -> gameName -> gammerId 1 -> NFS -> g01 1 -> NFS -> g02 2 -> CS -> g01 

或(我推荐的模式)

 gameId -> gameName -> listOfGammers 1 -> NFS -> g01, g02, g03 2 -> CS -> g02, g05 

通过这种方式,您可以减less对数据库的查询,如果单个游戏中有100个用户,则仍然可以获得signle行中的所有gammerIds +您已经拥有从caching中联机的用户列表。

希望有所帮助