From Firebase Cloud Functions I do query in Firebase Realtime DB like this:
let logs = this.firebase.database()
.ref('logs')
.orderByChild("userId").equalTo(userId)
.once('value');
Returned data:
{
"id1abc": {
"myValue": 1,
"userId": "abc"
},
"id2abc": {
"myValue": 2,
"userId": "abc"
},
"id3abc": {
"myValue": 3,
"userId": "abc"
}
}
Query returns a couple entries which values which I would like to sum:
let loggedVal = 0;
logs.forEach(log => {
loggedVal += log.val().myValue;
});
return loggedVal;
Arrow function inside forEach gives me proper value in this case (Sum equals 6).
But when I remove parenthesis like here:
let loggedVal = 0;
logs.forEach(log => loggedVal += log.val().myValue);
return loggedVal;
Returned value isn't sum, but just value from the first element which I'm iterating over (loggedVal == 6). Can anyone explain where does the difference come from?