根据名称类别查询数据库Firebase

问题描述 投票:0回答:1

我读过很多帖子,但没有一篇对我有好处。

我的数据库:

    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”值的节点?

swift firebase-realtime-database
1个回答
0
投票

当您使用此查询时:

rootRef.child("services").child("$servicesId").queryEqual(toValue: "groomer", childKey: "category")

这意味着您尝试查询存在于以下位置的所有元素:

services/$servicesId

它不会返回任何元素,因为在这样的节点下,只存在两个字段。如果要获取

services
节点下
category
字段保存特定值的元素,例如
groomer
,则必须使用以下查询:

rootRef.child("service").queryOrdered(byChild: "category").queryEqual(toValue: "groomer")
© www.soinside.com 2019 - 2024. All rights reserved.