gpt4 book ai didi

firebase - 如何通过多个 id 过滤 firestore 集合

转载 作者:行者123 更新时间:2023-12-02 19:36:08 24 4
gpt4 key购买 nike

所以在我的数据库模式中我有这样的东西

/collections/users/userId1 { 
...,
id,
relatedContracts: [id1, id2, id3]
}

/collections/contracts/contractId {
...,
id,
}

在我的 Firebase 安全规则中,我有这个

    match /contracts/{contract} {
function isOwnContract() {
return request.auth.id == resource.data.creatorId || request.auth.id == recipientId
}
allow read, write: if isOwnContract()
}

现在我对如何过滤客户端以仅获取我的相关契约(Contract)感到非常困惑。如果引入安全规则我就不能再在客户端上进行过滤了。

我知道这个存在

firestore.collection(CONTRACTS).where(id, "==", contractId)

但是我如何根据多个 id 进行过滤

最佳答案

您目前can't fetch multiple ids per query on the client ,所以您的选择是:

  1. 迭代用户文档中的每个合约 ID,并分别获取每个文档(这并不像您想象的那么糟糕)
  2. 在每个契约(Contract)中维护另一个关系,其中包含将其作为关系的用户列表。然后在契约(Contract)集合中搜索该列表中的用户 ID。

关于firebase - 如何通过多个 id 过滤 firestore 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54066363/

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