Как хранить и обновлять данные подсчета шагов с датой в firebase - PullRequest
0 голосов
/ 04 августа 2020

Я работаю над приложением для подсчета шагов. Я хочу хранить пользовательские данные userGoal, userSteps в день, и я хочу динамически обновлять эти данные в Firebase Firestore.

Я создал массив объектов для хранения и обновления повседневных данных пользователей, я ищу об этом но показывает, что мы не можем обновить данные с указанием c индекса из массива в Firestore.

Любой другой способ хранить и обновлять повседневные данные пользователей с помощью Date?

Это я создал Firestore структурный массив объекта:

это я создал массив объектов Firestore

1 Ответ

1 голос
/ 05 августа 2020

Я бы рекомендовал хранить ежедневные агрегаты на карте, а не в массиве. Сохраняя их в виде карты, вы можете обновить счетчик за текущий день с помощью словаря.

Таким образом, в нотации 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
        );
...