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有一个值.我想要做的就是在我的数据库中搜索并返回值为的任何内容.testSchool1testUID1SchoolsschoolNameLCtest 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 次 |
| 最近记录: |