【发布时间】:2021-02-02 07:42:37
【问题描述】:
请帮我解决这个问题,我想使用点符号更新字段,使用 set() 但每次我运行以下实现。我将字段添加到 firestore,例如 studentInfo.0.course.0.courseId,而不是更新现有的。
位于 Firestore 中的 Json 示例
"schoolId": "school123",
"studentInfo": [
{
"studentId": "studentI23",
"regDate": "2020-04-18",
"course": [
{
"courseId": "cs123",
"regDate": "2020-05-28",
"status": "COMPLETED"
}
]
}
],
"registered":"yes"
}
代码逻辑
const query = firestore.collection('users').where('registered', '==', 'yes')
const students = await query.get()
students.forEach(student => {
firestore.doc(student.ref.path).set({
'studentInfo.0.studentId': '345','studentInfo.0.course.0.courseId': '555'
}, { merge: true })
})
在文档https://firebase.google.com/docs/firestore/manage-data/add-data#update_fields_in_nested_objects 上,我只能找到更新嵌套对象,但找不到嵌套数组对象。
【问题讨论】:
标签: javascript firebase google-cloud-platform google-cloud-firestore