Firebase Swift中的数据库结构

bbuxkriu  于 2022-11-17  发布在  Swift
关注(0)|答案(1)|浏览(155)

我正在考虑在firebase中存储用户数据的最佳解决方案,考虑可扩展性、查询等...
例如:每个用户都可以创建一个类别列表。我想这样存储它:

Categories (Collection)
 - User ID (Document)
    - Category ID
       - title
       - imageURL

我想访问类别集合,找到所有用户ID的列表,当访问用户ID时,我找到他们创建的所有类别的列表...
我对火力基地很陌生...
或者我应该创建类别(收藏)-用户ID(文档)-类别ID(收藏)-标题等(文档)?只是似乎不正确...
我感谢任何帮助或提示!
编辑:这是我目前如何从我的IOS应用程序保存数据到Firebase:
产品型号:

struct Category: Codable, Identifiable {
@DocumentID var docId: String?
var id: String? = UUID().uuidString
var authorId: String
var title: String
var categoryImageUrl: String?

保存数据功能:

guard let userId = Auth.auth().currentUser?.uid else { return } // REMOVE
     
     let db = Firestore.firestore() // REMOVE
     let collectionRef = db.collection("Categories").document(userId)
     do {
         try collectionRef.setData(from: category)
    }
     catch {
         print(error)
     }
lf5gs5x2

lf5gs5x21#

很难给予一个全面的答案,但有一点需要记住,Firestore的客户端SDK没有API来获取(子)集合的列表。因此,重要的是,您的应用程序可以在没有API的情况下 * 知道 * 集合的名称,因为它们是硬编码的(最常见的),或者因为它们存储在其他地方(例如在父文档中)。

相关问题