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 для эффективного обновления ваших данных.