我正试图将一些东西推送到firebase rtdb,我想在其他地方很容易地访问它。这就是我用来添加到rtdb的内容:
function addStudentHandler(studentData) {
fetch(
"url that I put in real code",
{
method: "POST",
body: JSON.stringify(studentData),
headers: {
"Content-Type": "application/json",
}
}
)
.then (() => {
history.replace("/");
});
}
是否有像标题值或其他类型的值来指定它,而不是有自动生成的唯一键?感谢您的回复。
是您自己的代码告诉Firebase生成唯一密钥,因为您使用的是POST
方法。如文档中关于保存数据的规定:
POST
:添加到Firebase数据库中的数据列表中。每次我们发送POST请求时,Firebase客户端都会生成一个唯一的密钥,如fireblog/users/<unique-id>/<data>
如果您想自己指定完整的路径,您可以使用PUT
,文档如下:
PUT
将数据写入或替换到已定义的路径,如fireblog/users/user1/<data>
所以当您指定PUT
时,您指定了要写入的整个路径,Firebase不会在路径下生成唯一的ID,而只会将您指定的值写入您指定的路径。
在你现有的代码中:
fetch(
"url that I put in real code/user1.json", // 👈
{
method: "PUT", // 👈
body: JSON.stringify(studentData),
headers: {
"Content-Type": "application/json",
}
}
)