Функция агрегации Firebase - заказы и товары - PullRequest
0 голосов
/ 12 февраля 2019

С момента обновления 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...