我正在尝试使用Javascript SDK将数据添加到Firebase实时数据库中的任意路径。
所有规则都是公开的,因此权限不应该成为问题。 (读=真,写=真)
到目前为止,这是我的代码,用于添加数据:
function writeUserData(user, taskId, email, password, status) {
firebase.database().ref('users/' + user + '/tasks-status/' + taskId).set({
email: email,
password : password,
status: status,
});
}
当前的项目架构如下:
{
"roles" : {
"UID" : "owner"
},
"topics" : ["bio"],
"users" : {
"mffUzP5wtBRhOHTVAhGctAUHsa72" : {
"credits" : -5
},
"qfh75zQbIfe8ooAWAB3rbcz4MBQ2" : {
"credits" : 5
}
}
}
我想以编程方式向每个用户的用户/ UID添加一个孩子tasks-status
,并为该用户再添加三个孩子。理想情况下,tasks-status
节点将保留,以后的请求将仅添加唯一的TaskID
节点(mffUzP5wtBRhOHTVAhGctAUHsa721
)。
示例:
"users" : {
"mffUzP5wtBRhOHTVAhGctAUHsa72" : {
"credits" : -5,
"tasks-status" : {
"mffUzP5wtBRhOHTVAhGctAUHsa721" : {
"email": EMAIL,
"password": PASSWORD,
"status": STATUS
}
}
},
但是由于某种原因,该集将数据添加到数据库中,但是突出显示为红色并自动将其删除。另外,我发现用户/ UID的其他子节点也被删除。另外,只是想注意一下,我没有使用它进行身份验证,我已经很熟悉并且正在使用Firebase Auth。
我已经阅读了有关设置/更新的文档,但似乎找不到答案。
这是我的意思,红色是我要添加但随后被删除的数据
任何帮助将不胜感激!