2 回答
TA贡献1785条经验 获得超8个赞
请记住,实时数据库中的所有内容都是键:值对。当定义路径并且您在该路径中进行 .push 时,将创建一个具有子键:值对的节点,该节点位于该路径的“下方”。
如果您查看代码,您实际上是在定义数据的路径,最后一个组件是date
this.db.ref(`organization/${orgId}/visitor-attendance/${date}`).push({[attendeeUid]: true});
^^^ path ^^^ key ^^^ value
路径是
organization
orgId
visitor-attendance
date
the pushID
MNSIxm_woAnBAkVQWRV: true
每次将新子项添加到指定的 Firebase 引用时,push() 方法都会生成一个唯一的密钥。
一种可能的解决方法是使用 .set,
对于基本写入操作,您可以使用 set() 将数据保存到指定的引用,替换该路径上的任何现有数据。
firebase.database().ref('users/' + userId).set({
username: name,
email: email,
profile_picture : imageUrl
});
TA贡献1891条经验 获得超3个赞
上面的评论和回答非常有帮助。我最终通过更改为解决了这个push
问题update
。
现在代码如下:
setVisitorAttendanceDate = (orgId, attendeeUid, date) => this.db.ref(`organization/${orgId}/visitor-attendance/${date}`).update({[attendeeUid]: true});
添加回答
举报