我读过很多帖子,但没有一篇对我有好处。
我的数据库:
services
-Nw9TVp-6EjCI-xXWO3r
category: "veterinarian"
name: "Veterinary aaaaabb"
-Nw9UmVy3RgDb_wMeVBi
category: "groomer"
name: "Center jkhkjhkjh"
-NwJK914TuItRsxDWD2X
category: "groomer"
name: "Angel jkh"
我的查询是这样的,但数据没有出来:
let rootRef = Database.database().reference()
let ref = rootRef.child("services").child("$servicesId").queryEqual(toValue: "groomer", childKey: "category")
如何获取所有具有“groomer”值的节点?
当您使用此查询时:
rootRef.child("services").child("$servicesId").queryEqual(toValue: "groomer", childKey: "category")
这意味着您尝试查询存在于以下位置的所有元素:
services/$servicesId
它不会返回任何元素,因为在这样的节点下,只存在两个字段。如果要获取
services
节点下 category
字段保存特定值的元素,例如 groomer
,则必须使用以下查询:
rootRef.child("service").queryOrdered(byChild: "category").queryEqual(toValue: "groomer")