登录
首页 >  Golang >  Go问答

如何使用结构体表示 Cloud Firestore 中的分层数据?

来源:stackoverflow

时间:2024-04-21 12:24:35 236浏览 收藏

从现在开始,努力学习吧!本文《如何使用结构体表示 Cloud Firestore 中的分层数据?》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我正在研究分层数据在 cloud firestore 中的工作原理,并且想知道如何最好地将其转换为 go 结构。

在链接的示例中,有一个聊天室集合,每个聊天室文档都有两个字段:名称和消息集合。

考虑到消息集合的写入和读取相当频繁,以下是否是使用 go 结构表示聊天室的好方法?我还想在 go 代码中访问集合中的消息。

type ChatRoom struct {
    Name     string
    Messages *firestore.CollectionRef
}

这个定义似乎可以编译并且工作正常,但我想知道是否有更好或更惯用的方法来解决这个问题。


解决方案


文档没有提到文档中支持 collectionref。所以我不确定这是否有效。你可以看看我指的here

另一方面,我认为您并没有真正从中获得任何东西,因为您可以通过执行以下操作来访问该集合。

client.collection("chatroom/" +  + "/messages")

此外,我认为将 chatroom 这样的高级类型与 firestore 实现纠缠在一起并不是一个好的做法。因此,我将删除它并创建一个隐藏聊天室和消息存储方式的详细信息的界面。你可以做这样的事情。

type Repo interface {
    GetChatRoom(name string) (ChatRoom, error)
    GetMessages(name string) ([]Messages, error)
}

以上就是《如何使用结构体表示 Cloud Firestore 中的分层数据?》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>