在本节中,我们来看一些典型的社交游戏应用程序所需的查询。让我们想象,我们正在建立一个游戏叫jungleville
使用以下三个桶:
jungleville - 这个桶包含配置文件数据和游戏的玩家水平等相关数据,经验和各种其他游戏信息。Keys在这个桶以下格式命名:zid-jungle - { user_id }。
jungleville_stats - 这个桶包含系统数据的帧频等游戏加载时间,面对的统计数据。钥匙在这个桶以下格式命名:zid-jungle-stats - { user_id }。
jungleville_inbox - 在jungleville游戏中,每个玩家都有一个收件箱。消息发送到玩家的动作到现有的数组的消息。当消息被一个玩家的消息从消息数组中删除。运行查询看到jungleville的消息是什么样子。
Copy SELECT * FROM jungleville_inbox LIMIT 1
结果:
Copy {
"results" : [
{
"jungleville_inbox" : {
"messages" : [
{
"content" : "more work" ,
"message" : "more help for you " ,
"type" : "gift" ,
"user" : "zid-jungle-0002"
} ,
{
"content" : null ,
"message" : "1.2.3.Go" ,
"type" : "help-needed" ,
"user" : "zid-jungle-0002"
} ,
{
"content" : "meat-cleaver" ,
"message" : "hungry like the wolf" ,
"type" : "help-needed" ,
"user" : "zid-jungle-0003"
}
] ,
"uuid" : "zid-jungle-0001"
}
}
]
}
Copy SELECT * FROM jungleville LIMIT 1
结果:
Copy {
"results" : [
{
"jungleville" : {
"friends" : [
"zid-jungle-0002" ,
"zid-jungle-0003"
] ,
"gameworld" : {
"farm-length" : 32 ,
"farm-width" : 64 ,
"piggies" : [
"nero" ,
"hero" ,
"coma"
] ,
"position" : [
23 ,
45 ,
12
]
} ,
"lastLogin" : "22nd December 2013" ,
"level" : 4 ,
"loggedIn" : false ,
"name" : "Don Pinto" ,
"payer" : false ,
"score" : 663 ,
"type" : "player" ,
"uuid" : "zid-jungle-0001"
}
}
]
}
Copy SELECT * FROM jungleville_stats LIMIT 1
结果:
Copy {
"results" : [
{
"jungleville_stats" : {
"avg_session_length" : 1145 ,
"country" : "India" ,
"fps" : 34 ,
"lastLogin" : "22nd December 2013" ,
"loadtime" : 23 ,
"loggedIn" : false ,
"pvp-hist" : [
{
"result" : "lost" ,
"uuid" : "zid-jungle-0003"
} ,
{
"result" : "lost" ,
"uuid" : "zid-jungle-0002"
}
] ,
"requests" : 6 ,
"session_hist" : [
122 ,
3334 ,
1223 ,
1123 ,
145
] ,
"type" : "player" ,
"uuid" : "zid-jungle-0001"
}
}
]
}