Я бы рекомендовал хранить ежедневные агрегаты на карте, а не в массиве. Сохраняя их в виде карты, вы можете обновить счетчик за текущий день с помощью словаря.
Таким образом, в нотации JSON / точек это будет выглядеть так:
allDay: {
"2020-07-29": {
"userGoal": 1000,
"userStep": 0
},
"2020-07-31": {
"userGoal": 1000,
"userStep": 0
}
}
Затем вы можете обновить правый элемент с помощью словаря или используя .
нотацию :
db.collection("user").document("uidOfTheUser")
.update(
"userGoal", 1500,
"allDat.2020-07-31.userGoal", 1500
);