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

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

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

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

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

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

  • 邮政

    • user_field1

    • user_Field2

    • 栏位1

    • 场2

    • 用户


紫衣仙女
浏览 195回答 2
2回答

白板的微信

python运行时具有ndb库,该库支持这样的嵌套结构。Go不会,所以我可以想到两种解决方案:在POST类型中,具有一个作为关键字的用户字段,并在USER类型中引用必需的字段。需要两次访存和往返。将POST类型的用户字段设置为blob。blob是在go中反序列化的字符串。这意味着您不能搜索或过滤任何用户数据,但也可以将所有内容存储在一个实体中。您应该根据应用程序的需求使用它们。如果您需要用户成为现实,请使用1。如果用户不是您需要使用的对象(即,仅要显示的数据),则可以使用2。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go