Firebase快照的子级等于字符串

时间:2017-05-01 20:00:08

标签: ios swift firebase firebase-realtime-database

我有这段代码:

DataService.ds.MSGS_DB_REF_KEY1.queryOrdered(byChild: "livelli").observe(.value, with: { snapshot in

        for _ in snapshot.children{
            if snapshot.hasChild((self.textField.text?.lowercased())!){
                DataService.ds.MSGS_DB_REF_LIVELLO1.queryOrdered(byChild: "livello1").observe(.value, with: { (snapshot1) in

                    self.lvls = []

                    if let snapshot1 = snapshot1.children.allObjects as? [FIRDataSnapshot] {
                        for snap in snapshot1 {
                            if let postDict = snap.value as? [String: AnyObject] {
                            let level = Levels(levelId: snap.key, levelData: postDict)
                            self.lvls.append(level)
                        }
                    }
                }
                self.tableView.reloadData()

            })

我想做的是检查我的代码中的子名称是否等于文本字段,是否包含我在文本字段中写入的一个字符串。我有一个结构如下的数据库:

Mydata - >关键字 - > keywordlist1 - >名称:"一级",值:"一级" (和其他字符串)。

在文本字段中,我写的是"我想要一个随机级别"我想让应用程序认识到“#34; level"在孩子的名字"一级"。但是使用我的代码时,只有当字符串与数据中的名称相等时才会被识别。

1 个答案:

答案 0 :(得分:3)

无法直接查询孩子名称的一部分。你可以下载所有的孩子,然后在客户端搜索它们,但这很麻烦,不是一个很好的选择。更好的选择是使用Cloud Function从后端搜索数据库。查看this samplethis documentation