Можно ли использовать метод createId () локально, когда может произойти столкновение? - PullRequest
0 голосов
/ 05 сентября 2018

AngularFire2 Firestore имеет метод с именем createId(), который автоматически генерирует идентификатор локально.

Я планировал использовать это с формой, которая обрабатывает изображение помимо текста.

Чтобы облегчить пользователю задачу, после того как он или она загрузит картинку, я сгенерирую Id, который будет использоваться в качестве ссылки для хранения в базе данных Firebase. (Таким образом, он связан с информацией, поступающей в базу данных)

Я думаю, что это помогает, потому что процесс загрузки происходит за до того, как пользователь отправит форму, очень похоже на то, как работает gmail. Вы прикрепляете файл, и пока он загружается, кнопка отправки отключена. Только когда процент равен 100, кнопка активируется, и пользователь может отправить указанную информацию в облачный пожарный магазин.

Теперь моя проблема в том, что, если он сгенерирует существующий идентификатор? Разве он не заменит старые данные? (Элементы в этом узле будут иметь довольно большой количество документов)

Как тогда я могу избежать этого?

Спасибо за чтение! Любые советы приветствуются:)

1 Ответ

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

Генерация случайных идентификаторов для документов Firestore обладает огромной энтропией. Вероятность столкновения с ранее сгенерированной случайной величиной астрономически мала. Если этого недостаточно, вы можете сгенерировать свои собственные уникальные идентификаторы с еще большей случайностью с другой библиотекой, которая генерирует еще большую энтропию с уникальными идентификаторами, такими как UUID . Но я подозреваю, что вам будет хорошо с тем, что Firestore сгенерирует для вас.

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