Я пытаюсь использовать firebase.database (). Ref ('/ friends / запросы /'). EqualTo (currentUser.uid) в. приведенный ниже код для извлечения данных только для текущего пользователя, вошедшего в систему. Я очень запутался в том, как отфильтровать его по имени пользователя, и перепробовал несколько сценариев безрезультатно.
Я уже пытался использовать метод equalTo из firebase, но не могу заставить его работать. Как я могу получить доступ ко второму дочернему элементу моей структуры данных и по-прежнему получать данные под ним? ошибка в функции friendRequestFetch.
JSON
{
"requests" : {
"RIXXnKMGxYRPBTe1kBUsNUV9eFL2" : {
"NQgSxcVKm1N3tnkykUevBM45JLn2" : {
"name" : "Tom Hanks",
"photoURL" : "https://firebasestorage.googleapis.com/v0/b/myapp-d0755.appspot.com/o/profilePhotos%2FNQgSxcVKm1N3tnkykUevBM45JLn2?alt=media&token=7822d763-e1e0-421e-88bf-836b34184c2c",
"receiver" : "RIXXnKMGxYRPBTe1kBUsNUV9eFL2",
"sent" : 1557800380001,
"status" : "pending",
"uid" : "NQgSxcVKm1N3tnkykUevBM45JLn2"
}
}
}
}
код
export const sendFriendRequest = (item) => {
const { currentUser } = firebase.auth()
return (dispatch) => {
firebase.database().ref(`/friends/requests/${item.uid}/${currentUser.uid}`)//sting interpolation
.set({
uid: currentUser.uid,
//userName: firebase.database().ref(`/users/${currentUser.uid}`).snapshot.val().userName,
name: currentUser.displayName,
photoURL: currentUser.photoURL,
status: "pending",
sent: firebase.database.ServerValue.TIMESTAMP
})
.then(() => {
dispatch({
type: SEND_FRIEND_REQUEST
});
});
};
};
export const friendRequestFetch = () => {
const { currentUser } = firebase.auth()
return (dispatch) => {
firebase.database().ref('/friends/requests')
.on('value', snapshot => {
snapshot.forEach(child => { //anytime we get any value call function with an object thats describing the data thats sitting in there
dispatch({
type: FRIEND_REQUEST_FETCH_SUCCESS,
payload: child.val() // this is how we get access to the data at this ref
});
});
});
};
};
Мне нужны дочерние значения vals, но только для текущего пользователя, вошедшего в систему.