С момента обновления SDK до версии 1.0 с бета-версии моя функция агрегирования перестала работать.
Я следовал инструкциям по обновлению функции, однако эта функция выполняется несколько раз для каждого обновления.Кажется, он работает при первом запуске и увеличивает счетчик на 1. Во второй раз он, кажется, полностью удаляет счетчик.Пожалуйста, помогите.
exports.aggregateOrders = functions.database.instance('db_name').ref('/orders/{orderId}/{itemId}').onWrite((change, context) => {
// Exit when the order is deleted.
if (!change.after.exists()) {
return null;
}
// Get value of current item count
var snapshot = change.after;
var collectionRef = snapshot.ref.parent;
const data = change.after.val();
if (data.id === 'item.delivered')
{
var countRef1 = collectionRef.child('ctDelivered');
return countRef1.transaction(function(current) {
return (current || 0) + 1;
})
}
if (data.id === 'item.created')
{
var countRef = collectionRef.child('ctItems');
return countRef.transaction(function(current) {
return (current || 0) + 1;
})
}
});
Я ожидаю, что база данных покажет следующее:
order_id
-item_id1
-status: delivered
-item_id2
-item_id3
-ctItems: 3
-ctDelivered: 1