如何在Firebase中使用Date wise存储和更新步骤计数数据

时间:2020-08-04 20:22:28

标签: android firebase react-native google-cloud-firestore

我正在开发一个计步应用程序。我想每天userGoaluserSteps存储用户数据,并希望在Firebase Firestore中动态更新该数据。

我创建了对象数组来存储和更新用户的日常数据,我进行了搜索,但是显示我们无法从Firestore中的数组中更新具有特定索引的数据。

还有其他使用日期存储和更新用户日常数据的方法吗?

我创建了一个对象的Firestore结构数组:

this I created a Firestore structure array of object

1 个答案:

答案 0 :(得分:1)

我建议将每日汇总存储在地图中,而不是存储在数组中。通过将它们存储为地图,您可以使用字典更新当天的计数。

因此,在JSON /点表示法中,它看起来像:

allDay: {
  "2020-07-29": {
    "userGoal": 1000,
    "userStep": 0
  },
  "2020-07-31": {
    "userGoal": 1000,
    "userStep": 0
  }
}

然后您可以使用字典或通过using . notation更新正确的元素:

db.collection("user").document("uidOfTheUser")
        .update(
                "userGoal", 1500,
                "allDat.2020-07-31.userGoal", 1500
        );