【问题标题】:Firestore model group/members to query or database rulesFirestore 模型组/成员查询或数据库规则
【发布时间】:2018-07-20 18:02:04
【问题描述】:

我正在为 firebase firestore 设计经典组/成员

查询我所属的组的最佳设计是什么?并通过规则锁定该组的访问权限。

我正在尝试查询: IOS-Swift:

let query = groupRef.whereField("members.{member}.userUid", isEqualTo: self.userID!)

今天我有这样的事情:(愿意改变数据模型以获得更好的解决方案)

groups:
   groupUid:
     groupName: A Name
     members: 
       0:
         userName: A user
         userUid: A uid
       1:
         userName: A user
         userUid: A uid
       2:
         userName: A user
         userUid: A uid

【问题讨论】:

    标签: swift firebase google-cloud-firestore


    【解决方案1】:

    Firestore Docs 推荐这样的数据模型:

    groups:
       groupUid:
         groupName: A Name
         members: 
           uid1:true
           uid2:true
           uid3:true
    

    以便您可以运行查询:

    let query = groupRef.whereField("members." + self.userID!, isEqualTo: true)
    

    【讨论】:

    • 如果您的群组有数千名成员,此解决方案将无法扩展,因为您的文档最终会超过文档大小限制。
    猜你喜欢
    • 2018-03-21
    • 1970-01-01
    • 2020-02-24
    • 2019-10-02
    • 1970-01-01
    • 2021-06-24
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多