Как остановить случайный идентификатор при использовании Ax ios для публикации в Firebase? - PullRequest
0 голосов
/ 20 января 2020

В настоящее время я использую ax ios для публикации / получения из моей базы данных Firebase в моем приложении React. У меня не было проблем, пока я не попытался сделать свои первые сообщения POST в базу данных. Это успешно POSTing, но я получаю случайную строку для идентификатора, вместо того, чтобы напрямую отправлять ее в нужное место в моей базе данных.

random id incorrectly inserted Вместо того, чтобы быть пререгом -> group -> 2020 -> userID: значение, как я хочу, я получаю prereg -> random key -> group -> 2020 -> userID: value.

В настоящее время мой POST-код читается как:

axios.post('/preregs.json', {
        [this.props.group]: {
            [this.props.currentYear]: {
                [this.props.userID]: document.getElementsByTagName("input")["email"].value
            }
        }
    })

Я слышал, что если вы не используете POST для помещения данных в базу данных Firebase, он не создаст этот случайный идентификатор. Тем не менее, патч не будет работать, так как он просто удаляет все данные, которые у меня были в 2020 году. Я смотрел на другие опубликованные вопросы, такие как Установка пользовательского ключа при отправке новых данных в базу данных Firebase , но он использует Firebase для делай работу вместо Axe ios. Также Пользовательский идентификатор Firebase POST , который, кажется, имеет ту же проблему, с единственным ответом, который должен использовать 'put, но опять же, это стирает все остальное, что у меня есть в 2020 году. Есть ли что-то, чего мне не хватает, чтобы остановить Firebase от положить этот случайный ключ, когда я не хочу?

1 Ответ

3 голосов
/ 20 января 2020

Согласно документации REST API для базы данных реального времени , POST является эквивалентом операции "pu sh" при использовании клиентских SDK , Эта операция pu sh всегда включает добавление данных под случайным идентификатором. Нельзя избежать этого для пу sh.

Если вы знаете имя узла, в который вы хотите добавить данные, вы должны использовать вместо него PUT . Это эквивалентно использованию операции «set» с клиентскими SDK.

Поскольку вы работаете в клиенте javascript, рассмотрите возможность использования только клиентского SDK, так как это будет работать с ним проще и эффективнее, чем с REST API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...