Estoy tratando de enviar algo a firebase rtdb y me gustaría acceder a él en otro lugar con bastante facilidad. Esto es lo que estoy usando para agregar a la 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("/"); }); }¿Hay un valor de título o algún otro tipo de valor para especificarlo en lugar de tener claves únicas generadas automáticamente? Agradezco cualquier respuesta.
Es su propio código el que le dice a Firebase que genere una clave única, porque está usando el método POST . Como se especifica en la documentación sobre cómo guardar datos :
POST: Agregar a una lista de datos en nuestra base de datos de Firebase. Cada vez que enviamos una solicitud POST, el cliente de Firebase genera una clave única, comofireblog/users/<unique-id>/<data>
Si desea especificar la ruta completa usted mismo, puede usar PUT , que está documentado como:
PUTEscribe o reemplaza datos en una ruta definida, comofireblog/users/user1/<data>.
Entonces, cuando especifica PUT , especifica la ruta completa para escribir, Firebase no generará una ID única debajo de la ruta y simplemente escribirá el valor que especifique en la ruta que especifique.
En su código existente:
fetch( "url that I put in real code/user1.json", // 👈 { method: "PUT", // 👈 body: JSON.stringify(studentData), headers: { "Content-Type": "application/json", } } )