gpt4 book ai didi

swift - 如何从另一个 parent 那里过滤 Swift 中的 Firebase 数据?

转载 作者:搜寻专家 更新时间:2023-11-01 05:33:05 25 4
gpt4 key购买 nike

原文:我遇到了一些我想不通的事情:我有一个客户列表和他们的数据,我有一个日历日期列表,其中客户在 Firebase 中被标记为可用。我需要弄清楚如何根据日历排除客户。我四处搜索,发现这个问题几乎回答了我的问题:

更新:我现在已经将我的 Firebase 数据库更改为不必分离父级,而是将其包含在客户中

How to filter Firebase data in Swift?

        // This is my new code from the link above
ref.child("customers").queryOrdered(byChild: "calendar").
queryEqual(toValue: true).observe(.childAdded, with: { snapshot in


let snapshotDict = snapshot.value as? NSDictionary

let name = snapshotDict?["Name"] as! String
let email = snapshotDict?["Email"] as! String
let rating = snapshotDict?["Rating"] as! String
let key = snapshot.key

self.posts.insert(postStruct(name: name, email: email, rating: rating, key: key), at: 0)
self.tableView.reloadData()

因此,如果我应该只检查“calendar”的值是否为 true,这就可以了。但是我在日历中有几个键和值,我不知道下一步是什么。我的数据库如下所示:

    customers:
- sk1239sdkq2312lk
- calendar
- 9. june, 2018
- 1 : 10:00
- lk3j4590gsdflkj2
- calendar
- 9. june, 2018
- 1 : 10:00
- x98123jasdhasdss
- calendar
- 9. june, 2018
- 3 : 12:00

我只想在我的表中插入 2018 年 6 月 9 日和 1 : 10:00 的前两个客户。

我有要查找的日期(2018 年 6 月 9 日)和时间(10:00),但没有数字(1、2、3)。

我该怎么做?

最佳答案

实时数据库和 Cloud Firestore 都不支持对多个集合(或子集合)的单一查询。

在检索到所有 客户后,您可以保留对日历集合的引用并在客户端对其进行查询。这有明显的缺点。

另一种选择是在 Customer 模型中包含一个字段(例如 usedCalendar)默认为 false,然后使用 Firebase Cloud Functions保持该字段值一致。您将 onCreate()onDelete() Hook 添加到 calendar 集合并更新相应客户的 usedCalendar 值(value)。

关于swift - 如何从另一个 parent 那里过滤 Swift 中的 Firebase 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50748299/

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