Dan*_*evy 5 ios firebase swift firebase-realtime-database
我正在尝试使用以下方法查询Firebase数据库中的数据:
queryEqual(toValue: Any?, childKey: String?)
Run Code Online (Sandbox Code Playgroud)
我的数据库结构:
Schools {
testUID1 {
schoolNameLC: test school 1
}
}
Run Code Online (Sandbox Code Playgroud)
我的查询是:
databaseReference.child("Schools").queryEqual(toValue: "test school 1", childKey: "schoolNameLC").observe(.value) { (snap) in
print(snap)
}
Run Code Online (Sandbox Code Playgroud)
这个查询打印出来null
,我不能让它工作.由于我的应用程序的设置方式,我不知道该键在父键下schoolNameLC
有一个值.我想要做的就是在我的数据库中搜索并返回值为的任何内容.testSchool1
testUID1
Schools
schoolNameLC
test school 1
Fra*_*len 11
不幸的是,双参数queryEqualToValue:childKey:
(及其兄弟queryStartingAtValue:childKey:
和者queryEndingAtValue:childKey:
)是Firebase数据库API中一些最容易被误解的方法.
要由孩子订购,然后过滤该孩子的价值,您必须致电queryOrderedByChild().queryEqualToValue()
.所以@ ElCaptainV2.0说:
databaseReference.child("Schools")
.queryOrderedByChild("scho??olNameLC")
.queryEqua??lToValue("test school 1")
Run Code Online (Sandbox Code Playgroud)
你只应该使用childKey:
的参数,如果你也想在具有相同匹配的所有节点的特定键启动test school 1
值.当您尝试分页/无限滚动结果时,此重载非常有用.
归档时间: |
|
查看次数: |
1698 次 |
最近记录: |