Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

360
Vistas
React Native: cree un nodo secundario personalizado en la base de datos en tiempo real de firebase

Como soy nuevo en firebase y React, agradezco su ayuda ya que he probado casi todo.

La siguiente es mi estructura de datos en firebase.

ingrese la descripción de la imagen aquí

Cuando agrego un nuevo tipo de bebida , es decir, leche con sus campos, es decir, con nodos anidados y datos a Productos , firebase genera un nodo secundario basado en un número aleatorio. Ayúdenme y háganme saber cómo puedo crear nodos secundarios personalizados sin texto como se menciona en la estructura de datos. en realidad, tengo json listo como se menciona a continuación y quiero agregar un nuevo tipo de bebida con sus detalles como se menciona a continuación en json.

 "Id" : 1, "Milk" : { "Id" : 2, "Imported Milks" : { "Frosted Milk" : 20, "Milk Up" : 10 }, "Local Milks" : { "Cow Power" : 5, "Milk Man" : 3 } }

siguiente es mi código:

 let product = "Milk"; const dbUpdate = await firebase.database().ref("Products"); //this.state.selectedCategory is Milk await dbUpdate.child(this.state.selectedCategory).set( { product: { Id: item.Id, "Imported Milks": { "Frosted Milk": 20, "Milk Up" : 10 } } } );

Acabo de hacer algunos cambios en mi código. Funcionó, pero el conjunto se eliminó todos los registros anteriores y se agregó solo uno nuevo.

 let product = "Milk"; const dbUpdate = await firebase.database().ref("Products"); //this.state.selectedCategory is Milk await dbUpdate.set( { this.state.selectedCategory:{ product: { Id: item.Id, "Imported Milks": { "Frosted Milk": 20, "Milk Up" : 10 } } } } );

Gracias

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si desea agregar una nueva bebida con una clave que usted especifique, puede hacerlo:

 firebase.database().ref("Products/Beverages/Beers").child("Lagunitas").set(1);

Entonces, lo importante aquí es que no llamamos push (que generaría una ID), sino que especificamos su propia clave (en la llamada a child() en este caso).


Si desea configurar un objeto JSON completo, sería:

 firebase.database().ref("Products").set({ Beverages: { Beers: { Id: 1, "Imported Beers": { Bella: 20, LoveBug: 5 } } } })

Si desea utilizar el valor de la variable de su product en la ruta para actualizar una ruta en la base de datos, puede hacerlo:

 let product = "Milk"; const dbUpdate = await firebase.database().ref("Products"); // 👇 await dbUpdate.child(this.state.selectedCategory).update({ [product]: // 👈 Use [] to use the value of the variable { Id: item.Id, "Imported Milks": { "Frosted Milk": 20, "Milk Up" : 10 } } });

Esto establecerá la clave Milk en selectedCategory , pero dejará otras claves secundarias sin modificar.


Si desea realizar una actualización profunda de una clave en una rama, también puede usar una ruta como clave. Entonces, por ejemplo, para agregar los dos elementos a Imported Milks , pero dejar cualquier otro valor sin modificar, haría lo siguiente:

 firebase.database().ref("Products").update({ "Beverages/Milk/Imported Milks/Frosted Milk": 20, "Beverages/Milk/Imported Milks/Milk Up" : 10 })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda