gpt4 book ai didi

ios - 如何在字段包含字典数组的 firestore 上查询?

转载 作者:行者123 更新时间:2023-12-05 05:39:21 25 4
gpt4 key购买 nike

我正在尝试从 FireStore 获取项目数据,这是我在 firestore 上的结构:

enter image description here

这是我的代码:

FirestoreReferenceManager.rootProjects.whereField(
FirebaseKeys.ProjectDetails.inviteData,
arrayContains: [
FirebaseKeys.ProjectDetails.otherUserId: userID,
FirebaseKeys.ProjectDetails.inviteStatus: FirebaseKeys.ProjectDetails.pending
])

如果我在 firestore 上没有 isInvoiceAccess 数据,那么上面的代码工作正常,但是当我在 firestore 上添加那个键时,上面的查询没有给我任何结果,我无法添加那个键因为它可以是 truefalse

如果我使用下面的代码,那么我会得到结果:

FirestoreReferenceManager.rootProjects.whereField(
FirebaseKeys.ProjectDetails.inviteData,
arrayContains: [
FirebaseKeys.ProjectDetails.otherUserId: userID,
FirebaseKeys.ProjectDetails.inviteStatus: FirebaseKeys.ProjectDetails.pending,
FirebaseKeys.ProjectDetails.invoiceAccess: true
])

所以我想要来自 FireStore 的数据,而不需要在我的查询中添加 isInvoiceAccess

最佳答案

arrayContains 操作仅检查数组中是否存在完全匹配,不能检查部分匹配。

您的用例的常见解决方法是为您要查询的每个特定值/值组合添加一个额外的数组字段。因此,在您的情况下,添加一个字段 invites_uid_and_status,每个字段仅包含这两个值,然后将 that 用于此查询。

关于ios - 如何在字段包含字典数组的 firestore 上查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72709877/

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