我正在开发一个计步应用程序。我想每天userGoal
,userSteps
存储用户数据,并希望在Firebase Firestore中动态更新该数据。
我创建了对象数组来存储和更新用户的日常数据,我进行了搜索,但是显示我们无法从Firestore中的数组中更新具有特定索引的数据。
还有其他使用日期存储和更新用户日常数据的方法吗?
我创建了一个对象的Firestore结构数组:
答案 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
);