Эффективные методы обновления документов Firestore после 2021 года

Firestore – популярная база данных документов NoSQL, предоставляемая Google Cloud Platform. Он предлагает различные методы обновления документов, и в этой статье блога мы рассмотрим несколько эффективных способов обновления документов Firestore после 2021 года. Мы предоставим примеры кода на JavaScript для иллюстрации каждого метода.

Метод 1. Обновление документа с помощью метода update()
Метод update()позволяет изменять определенные поля документа Firestore, не перезаписывая весь документ. Вот пример:

const docRef = db.collection('yourCollection').doc('yourDocument');
docRef.update({
  field1: 'new value',
  field2: 'new value',
});

Метод 2. Обновление документа с помощью метода set()с опцией merge
Метод set()с опцией 10 Опциюможно использовать для обновления определенных полей документа без перезаписи всего документа. Вот пример:

const docRef = db.collection('yourCollection').doc('yourDocument');
docRef.set({
  field1: 'new value',
  field2: 'new value',
}, { merge: true });

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

const docRef = db.collection('yourCollection').doc('yourDocument');
db.runTransaction((transaction) => {
  return transaction.get(docRef)
    .then((doc) => {
      if (doc.exists) {
        transaction.update(docRef, {
          field1: 'new value',
          field2: 'new value',
        });
      }
    });
});

Метод 4: обновление документа с помощью пакетной записи
Пакетная запись позволяет выполнять несколько операций как одну атомарную единицу. Вот пример:

const docRef = db.collection('yourCollection').doc('yourDocument');
const batch = db.batch();
batch.update(docRef, { field1: 'new value' });
batch.update(docRef, { field2: 'new value' });
batch.commit();

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

exports.updateDocument = functions.firestore
  .document('yourCollection/{documentId}')
  .onUpdate((change, context) => {
    const docRef = change.after.ref;
    return docRef.update({
      field1: 'new value',
      field2: 'new value',
    });
  });

Firestore предоставляет несколько эффективных методов обновления документов после 2021 года, например использование методов update()и set(), транзакций, пакетной записи и облачных функций. Эти методы обеспечивают гибкость и согласованность данных при обновлении документов Firestore. Выберите метод, который лучше всего соответствует вашим требованиям, и используйте возможности Firestore для эффективного обновления ваших данных.