función de la nube de Firebase función de bucle en ejecución

Quiero hacer un resumen de los datos existentes, pero la función de nube de Firebase realiza el bucle para que la suma que hice no sea válida. ¿Hay alguna solución a mi problema? gracias

esto en mi captura de pantalla

construcción de bases de datos,

Iniciar sesión

const functions = require('firebase-functions');
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
var db = admin.database();
exports.makePurchaseSummaryAdd = functions.database.ref('/invoice_data/{pushIdInvoice}/item/{pushIdItem}')
    .onCreate(event => {
        var name = event.data.child('itemName').val();
        var quantity = event.data.child('quantity').val();

        var ref = db.ref('/invoice_data/' + event.params.pushIdInvoice + '/idUser');
        ref.on("value", function(snapshot) {
            var refUser = db.ref('/user_data/' + snapshot.val() + '/purchaseSummary/' + name.toUpperCase());
            refUser.on("value", function(snapshotUser) {
                if (snapshotUser.exists()){
                    console.log('Ada Data');
                    var count = snapshotUser.val();
                    var newCount = quantity + count;
                    refUser.set(newCount);
                    console.log('create', count, newCount, name.toUpperCase());
                }
                else {
                    console.log('Tidak Ada Data');
                }
            }, function (errorObject) {
              console.log("The read failed: " + errorObject.code);
            });
        }, function (errorObject) {
          console.log("The read failed: " + errorObject.code);
        });
        return true;
    });

Respuestas a la pregunta(1)

Su respuesta a la pregunta