2014-09-30 29 views
0

为我们的游戏,我们存储每个玩家&水平一行上完成,我们做如下所示:进入App Engine的数据不可靠

pl = PlayerLevel.all().filter('player_id =', player_id).filter('level_id =', level_id).get() 

    if not pl: 
     pl = PlayerLevel() 
     pl.level_id = level_id 
     pl.player_id = player_id 
     ... 

    ...else update stuff.. 

    pl.put() 

但出于某种原因,这个代码已经创建了相同的两行player_id & level_id。事情是我们以前也见过这种情况。

任何人都知道发生了什么事?

回答

1

这是因为最终的一致性,即整个App Engine文档中的fully documented。您不能依赖查询 - 如您的filter调用 - 在查询没有祖先时返回最新数据。

+0

谢谢,没有注意到!很多解释。 – Nixarn 2014-09-30 11:59:11

相关问题