gpt4 book ai didi

ios - 如何创建新收藏集?

转载 作者:行者123 更新时间:2023-11-28 05:49:33 25 4
gpt4 key购买 nike

我正在构建一个聊天应用程序,其中有 GroupConversationsGroupMessages。按照一些 Firestore YouTube 视频的示例,我选择以这种方式构建我的数据:

GroupConversation 的 ID 是与该 GroupConversation 关联的 GroupMessages 集合的 ID。然后在该文档中应该有一个名为 Messages 的新集合,它包含文档。

这有意义吗,还是我把事情复杂化了?我似乎无法创建 Messages 集合或在我的 Swift 代码中为其设置任何内容

GroupConversations
id
title
desc
memberIds

GroupMessages
GroupConversationID
createdAt: Date // just because I need a key and a document?
Messages (new collection)
Message1
Message2
Message3

谢谢

编辑:添加了 Swift 代码

        let db = Firestore.firestore()
var data: [String: Any] = [
"text": title,
"senderUsername": username,
"createdAt": Date(),
"updatedAt": Date()
]

let creationData: [String: Any] = [
"text": "Group Created",
"createdAt": Date()
]

let doc = db.collection("GroupMessages").addDocument(data: creationData)
db.document("GroupMessages/\(groupConvo.documentId)/\(doc.documentID)/messages").setData(data) { error in
if error == nil {
completion()
}
}

在我的控制台中,我看到创建了一个新的 GroupMessage 对象,但不是该 GroupMessage 的子集合,名为 messages

最佳答案

您没有正确构建文档的路径。文档路径始终在集合名称和文档名称之间交替。要在子集合中构建文档的路径,它将转到 collection/document/subcollection/document。您似乎混淆了正在构建的字符串中的最后两个元素。

在我看来,如果您使用方法而不是尝试构建字符串来构建文档,则更难出错。像这样:

db
.collection("GroupMessages")
.document(groupConvo.documentId)
.collection("Messages")
.document(doc.documentId)
.setData(...)

关于ios - 如何创建新收藏集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53384187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com