我正在使用Firebase在iOS中开发应用。想知道如果子对象具有某个值,我是否可以在节点中获取数据?
例如,下面是我的数据库结构:
如果我获取数据,它将获取LEREDrwBDM952MpVtUE
节点内的所有数据。但是,我的应用解决方案要求我仅在monitored
为假时才显示此节点。如果monitored
为真,则不会显示它。
我的代码:
refChilds = Database.database().reference()
let userId: String = (Auth.auth().currentUser?.uid)!
//observing the data changes
refChilds.child("childId").child(userId).child("uid").queryOrdered(byChild: "monitored").queryEqual(toValue: "false").observe(DataEventType.value, with: { (snapshot) in
使用上面的代码,我注意到能够获取任何东西。这是获取数据的正确方法吗?
修改
除了我的问题,我想知道如何才能将monitored
的子值从false更新为true?我在访问第二个子节点LEREDrwBDM952MpVtUE
时遇到问题。我的代码在TGEcwrz..
这是我的代码。
refChild.child("childId").child(userId).updateChildValues(["monitored":monitored!])
答案 0 :(得分:1)
您的代码中的段uid
不在您的JSON中。从我看到的查询应该是:
refChilds.child("childId").child(userId).queryOrdered(byChild: "monitored").queryEqual(toValue: false).observe(DataEventType.value, with: { (snapshot) in