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

use*_*575 6 google-app-engine go google-cloud-datastore

我试图弄清楚如何使用Go获得嵌套结构以使用GAE数据存储区.我知道数据存储区并不专门支持嵌套结构.当需要将用户信息作为JSON发送给用户时,我需要找到一种简单的方法来获取用户信息.

我想到的一件事是为用户放置两个字段.一个用于引用用户的ID /密钥,另一个用于用户类型struct,当从数据存储区加载帖子时,将添加该用户类型struct.额外的字段似乎很傻,所以我希望有更好的解决方案.

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

帖子需要包含有关发布帖子的用户的信息.

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

  • POST
    • FIELD1
    • 域2
    • 用户
      • user_field1
      • user_Field2

Jer*_*all 9

Go的appengine datastore api为这类事物提供了PropertyLoadSaver接口:https://developers.google.com/appengine/docs/go/datastore/reference#PropertyLoadSaver

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

这将允许您仍然筛选字段并具有嵌套的结构.