我一直在建立MongoDB应用程序,但在理解何时将集合分解为较小的相关集合时遇到了麻烦。
这是基于套接字的Trivia应用程序,其中每个Collection都具有“ Game”模式。 Game模式具有一组播放器对象(下面提供了JSON示例)。
agg
(通过套接字)提交答案后,将查询游戏,将玩家从数组中拉出,并更新玩家对象以获取其新提交的答案和得分。
groupkey=pd.to_datetime(df.date_time.dt.strftime('%Y-%m-%d %H'))
df.groupby(groupkey).agg({'last_val':'last','sum_val':'sum'})
Out[141]:
last_val sum_val
date_time
2019-02-15 17:00:00 22 20
2019-02-15 18:00:00 55 60
2019-02-16 10:00:00 77 100
将玩家分成一个单独的收藏集是否有价值?我担心的是,同时更新多个播放器可能会导致数据丢失或锁定问题-但我对MongoDB的了解还不足以确定这是否成立。
将播放器设置为一个单独的收藏集,文档中同时记录两个更改的可能性就较小。