Можем ли мы вставить данные в базу данных Firebase в реальном времени? - PullRequest
0 голосов
/ 19 сентября 2018

Один дочерний узел моей базы данных в реальном времени Firebase стал огромным (около 20 ГБ), и мне нужно очистить его и вставить извлеченные данные за последний месяц из резервной копии в базу данных реального времени Firebase с помощью Python Admin SDK.

В документации я вижу следующие опции:

set - запись или замена данных по определенному пути, например messages / users /

update - обновление некоторых изключи для определенного пути без замены всех данных

push - Добавить в список данных в базе данных.Каждый раз, когда вы помещаете новый узел в список, ваша база данных генерирует уникальный ключ, например сообщения / пользователи //

транзакция - используйте транзакции при работе со сложными данными, которые могут быть повреждены одновременными обновлениями

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

Есть ли какой-либо метод для вставки / добавления данных и не перезаписи данных?

ЛюбойПомощь / поддержка очень ценится.

1 Ответ

0 голосов
/ 19 сентября 2018

Невозможно сделать это в базе данных Firebase Realtime без чтения текущего значения каждого местоположения.

Единственная операция, которая позволяет обновлять данные на основе их существующего значения, - это transaction.Транзакция Firebase дает вам (вероятное) текущее значение в определенном месте, а затем вы возвращаете, каким должно быть новое значение.

Но если данные, которые вы восстанавливаете, (в значительной степени) совпадают с данными, имеющимися в базе данных, вы можете использовать вызов update() с достаточно глубокими путями.

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