Вы можете использовать функцию генератора идентификаторов Firestore по умолчанию. Я почти уверен, что «большой идентификатор» не вызовет заметных проблем с производительностью, поэтому Google использует такую функцию для генерации уникальных идентификаторов в своих базах данных.
Вот функция, которую я извлек и использовал для моих проектов в течение длительного времени:
const generateId = function () {
// Alphanumeric characters
const chars =
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let autoId = '';
for (let i = 0; i < 20; i++) {
autoId += chars.charAt(Math.floor(Math.random() * chars.length));
}
return autoId;
};
Вероятность использования одного и того же идентификатора для двух документов с этой функцией практически невозможна, но вы можете go вперед и также добавить метку времени к результату, просто чтобы успокоить свой ум.