我正在尝试根据对象值从Firebase查询数据。我想只得到哪个键匹配mainGoal
值的孩子。
这就是我尝试查询数据的方式:
componentDidMount = () => {
let mainGoalKey = dbRef.child('goals/'+this.state.uid+'/mainGoal');
mainGoalKey.on('value', snap => {
this.setState({
mainGoalKeyState: snap.val(),
});
});
if (this.state.mainGoalKeyState) {
const dataGoalRef = dbRef.child('goals/'+this.state.uid+'/'+this.state.mainGoalKeyState);
dataGoalRef.on('value', snap => {
this.setState({
dataGoal: snap.val(),
});
});
}
}
编辑:我想在匹配的键下获取对象值 主要目标价值。所以类似于:
const dataGoalRef = dbRef.child('goals/'+this.state.uid).orderByValue().equalTo('mainGoal');
有没有办法这样做?
答案 0 :(得分:0)
您可以使用orderByChild来匹配所需的数据。
componentDidMount = () => {
let mainGoalKey = dbRef.child('goals').orderByChild(mainGoal).equalTo(this.state.uid);
mainGoalKey.on('value', snap => {
this.setState({
mainGoalKeyState: snap.val(),
});
});
if (this.state.mainGoalKeyState) {
const dataGoalRef = dbRef.child('goals/'+this.state.uid+'/'+this.state.mainGoalKeyState);
dataGoalRef.on('value', snap => {
this.setState({
dataGoal: snap.val(),
});
});
}
}