set не является функцией для объекта firebaseRef - PullRequest
0 голосов
/ 12 июня 2018

Это пример из документации Firebase

function writeUserData(userId, name, email, imageUrl) {
    firebase.database().ref('users/' + userId).set({
        username: name,
        email: email,
        profile_picture : imageUrl
    });
}

А вот мой код:

componentDidMount() {
    const questionsRef = firebase.database().ref('Works').orderByChild('firebaseKey').equalTo(this.props.questionId);
    console.log(this.props.questionId);
    questionsRef.on('value', snapshot => {
        let questions = snapshot.val();
        let newState = [];
        for (let question in questions) {
            newState.push({
                id: question,
                category: questions[question].category,
                level: questions[question].level,
                pointAmount: questions[question].pointAmount,
                pointBoost: questions[question].pointBoost,
                photoURL: questions[question].photoURL,
                workText: questions[question].workText,
            });
        }
        this.setState({
            questions: newState
        });
    });
    questionsRef.set({state: 'Taken', available: false});
}

Теперь, когда я пытаюсь его запустить, первый запрос работает нормально, ноquestionsRef.set({state: 'Taken', available: false}); просто выдает ошибку, утверждая: questionsRef.set is not a function.Это почему?Чего мне не хватает?

Моя структура БД:

"Works" : {
    "-LETUpQgZUUUhDfMo3XC" : {
        "available" : false,
        "boostAmount" : 8,
        "category" : "Fizyka",
        "createDate" : {
            "date" : 8,
            "day" : 5,
            "hours" : 10,
            "minutes" : 24,
            "month" : 5,
            "seconds" : 37,
            "time" : 1528446277672,
            "timezoneOffset" : -120,
            "year" : 118
        }
    },
    // More stuff
}

1 Ответ

0 голосов
/ 12 июня 2018

Хорошо, вот как я это решил.

var currentQuestion = firebase.database().ref('Works').child(this.props.questionId);
currentQuestion.child('available').set(false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...