Проблема вставки массива дочернего узла в push () - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть следующий код:

export const createCharacter = (username, name, sex, vocation, achievementPoints, world) => {
    return (dispath) => {
        firebase.auth().signInWithEmailAndPassword('dev7@gmail.com', '123123')
            .then(value => {
                firebase.database().ref('/sales/')
                    .push({
                        owner: username,
                        character: [
                            {
                                name: name,
                                sex: sex,
                                vocation: vocation,
                                achievementPoints: achievementPoints,
                                world: world
                            }
                        ],
                        price: 21.12
                    })
                    .then(() => {

                    })
            })
            .catch(error => alert(error))
    }
}

... и с его помощью я получил следующий результат:

Result in firebase

Когда я пытаюсь выполнитьметод действия в первый раз, я ловлю эту ошибку:

Ошибка: сбой Reference.push: первый аргумент содержит неопределенное в свойстве sales.character.0.name

Но когда явыполнить его без обновления во второй раз, нажатие выполнено успешно.

У меня вопрос , как мне нажать, чтобы не генерировать этот UID?

1 Ответ

0 голосов
/ 02 февраля 2019

Когда вы передаете объект в Firebase, значениями свойств могут быть значения или нуль.Они не могут быть неопределенными,

firebase.database().ref('/sales/')
                    .push({
                        owner: username || null,
                        character: [
                            {
                                name: name || null,
                                sex: sex || null,
                                vocation: vocation || null,
                                achievementPoints: achievementPoints || null,
                                world: world || null
                            }
                        ],
                        price: 21.12
                    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...