小编典典

使用Go在GAE数据存储上的嵌套结构

go

我试图弄清楚如何使用Go使用嵌套结构与GAE数据存储区一起使用。我知道数据存储区不专门支持嵌套结构。我需要找到一种简单的方法,使用户信息以JSON的形式发送给用户时,将其与帖子一起发送。

我想到的一件事是为用户放置两个字段。一个用于引用用户的ID
/密钥,另一个用于用户类型struct,当从数据存储区加载帖子时,该结构将添加到其中。多余的字段似乎很愚蠢,所以我希望对此有更好的解决方案。

有两种实体类型或结构:POST和USER

帖子中必须包含有关发布该帖子的用户的信息。

我要为用户输出的JSON的结构如下:

  • 开机自检
    • 栏位1
    • 场2
    • 用户
    • user_field1
    • user_Field2

阅读 205

收藏
2020-07-02

共1个答案

小编典典

Go的appengine数据存储区api为此类事情提供了PropertyLoadSaver接口:https
:
//developers.google.com/appengine/docs/go/datastore/reference#PropertyLoadSaver

您可以根据需要构造结构,然后实现该接口的Load和Save方法以正确填充它。这意味着您可以自己编写序列化代码,但是它为您提供了结构数据的完全自由。

这将允许您仍然过滤字段并具有嵌套结构。

2020-07-02