firebase: удаление данных, принадлежащих userId - PullRequest
1 голос
/ 05 августа 2020

Привет, я новичок в firebase, и у меня возникли проблемы с извлечением данных. В моей базе данных есть две коллекции: одна для моих пользователей, а другая - для целей. Я хочу удалить все данные пользователя, но когда мне удастся удалить данные из коллекции целей, у меня нет возможности узнать, какие данные им принадлежат, поскольку идентификатор отличается от userId.

Это проблема, с которой я сталкиваюсь: идентификатор документа отличается от authorId введите описание изображения здесь

Может ли кто-нибудь помочь мне реорганизовать мои данные, когда я не создаю новый Документ каждый раз, когда создаю новые цели, а вместо этого просто добавляю его к существующему. Это мой код для удаления данных и создания новых целей

const onDeleteAccountPress = () => {
    firebase.database().ref('users/'+userId).remove()
    //firebase.database().ref('goals')
    firebase.auth().currentUser.delete()
    .then(function(){
        props.navigation.navigate('Login');
        props.navigation.reset({ index: 0, routes: [ { name: 'Login' } ] });
    }).catch(function(error){
        console.log('there is something wrong')
    })
    
}

useEffect(() => {
    let isMounted = true;

    if (isMounted) {
        loansRef.where('authorID', '==', userId).orderBy('createdAt', 'desc').onSnapshot(
            (querySnapshot) => {
                const newGoals = [];
                querySnapshot.forEach((doc) => {
                    const goal = doc.data();
                    goal.id = doc.id;
                    newGoals.push(goal);
                });
                setCourseGoals(newGoals);
            },
            (error) => {
                console.log(error);
            }
        );
    }
    return () => {
        isMounted = false;
    };
}, []);
...