Различные методы создания пользовательских идентификаторов в Firestore с примерами кода

Firestore – это база данных NoSQL, предоставляемая Firebase, которая позволяет разработчикам хранить и синхронизировать данные в режиме реального времени. По умолчанию Firestore генерирует уникальные идентификаторы документов для каждого нового документа. Однако существуют сценарии, в которых вам может потребоваться предоставить свои собственные идентификаторы. В этой статье блога мы рассмотрим несколько методов создания собственных идентификаторов в Firestore, а также примеры кода для каждого метода.

Метод 1: присвоение идентификатора вручную
Один из простых подходов – вручную назначать персонализированные идентификаторы документам при их создании. Вот пример использования Firebase JavaScript SDK:

const db = firebase.firestore();
const docRef = db.collection('myCollection').doc('myCustomId');
// Set data to the document
docRef.set({
  // Document fields
})
  .then(() => {
    console.log('Document created with custom ID.');
  })
  .catch((error) => {
    console.error('Error creating document:', error);
  });

Метод 2. Использование библиотеки уникальных идентификаторов.
Другой метод — использование библиотек уникальных идентификаторов для создания собственных идентификаторов. Одной из популярных библиотек является uuid(универсальный уникальный идентификатор). Вот пример использования uuidв Node.js:

const uuid = require('uuid');
const db = admin.firestore();
const docRef = db.collection('myCollection').doc(uuid.v4());
// Set data to the document
docRef.set({
  // Document fields
})
  .then(() => {
    console.log('Document created with custom ID generated by UUID.');
  })
  .catch((error) => {
    console.error('Error creating document:', error);
  });

Метод 3: идентификаторы на основе временных меток.
Вы также можете создавать собственные идентификаторы на основе временных меток. Такой подход обеспечивает уникальность и создает ощущение хронологического порядка. Вот пример использования JavaScript:

const db = firebase.firestore();
const timestamp = new Date().getTime();
const docRef = db.collection('myCollection').doc(`doc_${timestamp}`);
// Set data to the document
docRef.set({
  // Document fields
})
  .then(() => {
    console.log('Document created with timestamp-based custom ID.');
  })
  .catch((error) => {
    console.error('Error creating document:', error);
  });

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