Я хочу обновить два поля в документе в коллекции под названием recipes
, и я использовал пакетное обновление, чтобы сделать это:
let recipeRef = db.collection('recipes').doc(`${recipeId}`);
let batch = db.batch();
batch.update(recipeRef, {ratingsCount : admin.firestore.FieldValue.increment(1)});
batch.update(recipeRef, {totalRating : admin.firestore.FieldValue.increment(snap.data().rating)})
return batch.commit();
И у меня есть функция триггера в коллекции recipes
как это:
exports.RecipeUpdated = functions.firestore
.document('recipes/{recipeId}')
.onUpdate((change, context) =>
{
//code
});
Мой вопрос таков: в вышеупомянутом пакете есть два обновления, будет ли это также дважды запускать функцию onUpdate
Или, поскольку пакетная запись завершается атомарно, триггер будет вызываться только один? Я хочу, чтобы триггер вызывался только один раз.