Google app engine 应用程序引擎记录到数据库和实体组

Google app engine 应用程序引擎记录到数据库和实体组,google-app-engine,bigtable,Google App Engine,Bigtable,在我的应用程序中,我有一个Profile实体,它有一些子项,比如ProfileAccount、ProfileLink等。它们通常在事务中更新,比如 def update_profile(key): profile = db.get(key) accounts = db.query("SELECT * FROM ProfileAccount WHERE ANCESTOR IS :1", profile) # do something with accounts and profile

在我的应用程序中,我有一个Profile实体,它有一些子项,比如ProfileAccount、ProfileLink等。它们通常在事务中更新,比如

def update_profile(key): 
  profile = db.get(key)
  accounts = db.query("SELECT * FROM ProfileAccount WHERE ANCESTOR IS :1", profile)
  # do something with accounts and profile
  profile.put()
我用db.run_in_事务(update_profile,key)调用它,但是我需要一个管理日志,记录更新概要文件时发生的所有事情,所以我创建了一个通用的AdminLog实体,其中包含对概要文件的引用、时间戳和任意字符串数据。稍后将对此进行处理,以检查自上次用户登录以来发生的情况

问题是,由于AdminLog与概要文件不属于同一个实体组,我无法将其添加到同一事务中,但另一方面,我认为将所有这些日志放在同一个实体(概要文件)下并不明智,因为它不是基本数据

我想到的一件事是在配置文件上有一个StringList,它在每次登录时都会被清除,这样我就拥有了配置文件上发生的一切。你认为这是一个很好的方法,或者对于这种情况有其他的解决方法吗


提前感谢您提供的任何提示

使用子实体似乎是最好的选择。它确保您可以以事务方式更新它们,并将更改与它们应用到的实体相关联。如果愿意,您可以垃圾收集旧的管理日志条目以节省空间。

使用子实体似乎是最好的选择。它确保您可以以事务方式更新它们,并将更改与它们应用到的实体相关联。如果愿意,可以对旧的管理日志项进行垃圾收集以节省空间