我正在尝试弄清楚如何使用Go来使嵌套结构与GAE数据存储区一起使用。我知道数据存储区并不专门支持嵌套结构。我需要找到一种简单的方法来获取用户信息,以便在将其作为JSON发送给用户时使用帖子。
我想到的一件事是为用户添加两个字段。一个用于引用用户的ID /密钥,另一个用于用户类型struct,当从数据存储区加载帖子时,将添加该用户类型struct。额外的字段似乎很傻,所以我希望有更好的解决方案。
有两种实体类型或结构:POST和USER
帖子需要包含有关发布帖子的用户的信息。
我要为用户输出的JSON结构如下:
答案 0 :(得分:9)
Go的appengine datastore api为这类事情提供了PropertyLoadSaver接口:https://developers.google.com/appengine/docs/go/datastore/reference#PropertyLoadSaver
您可以根据需要构建结构,然后实现该接口的Load和Save方法以正确填充它。这意味着您自己编写序列化代码,但它可以让您完全自由地构建数据。
这将允许您仍然过滤字段并具有嵌套结构。
答案 1 :(得分:0)
python运行时具有ndb库,它支持这样的嵌套结构。 Go没有,所以我可以想到两个解决方案:
您应该根据应用的需要使用这些内容。如果您需要用户是真品,请使用1.如果用户不是您需要使用的对象(即只显示数据),您可以使用2.