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

249
Vistas
Firebase Realtime Database equalTo consulta de niño en claves crecientes

Estoy tratando de obtener datos de la base de datos. Pero después de cambiar mi código por problemas de rendimiento en mi proyecto nativo de reacción, no pude encontrar la consulta que deseaba. El trato es que tengo este tipo de estructura de datos. va bajo /root/news/0/coin_name. La tecla 0 aumenta como 1,2,3...n para cada uno de mis datos. para un mejor entendimiento:

 cnh I I --coins | | --news| | |--0| --coin_name='algorand' ... |--1| ...

Quiero obtener datos donde coin_name sea igual a 'algorand'. Intenté algunas consultas pero ninguna funcionó. Te agradecería si me ayudas.

Lo intenté:

 useEffect(()=>{ const fbdb = async () =>{ await database() .ref(newsKey) .orderByChild('year') .equalTo('2021') .once('value') .then(snapshot => { const data = snapshot.val(); const formattedResponse=formatMarketData(data,show); return setNews(formattedResponse) }); }; fbdb(); },[show,year]);

EDITAR Por último, pasé los datos de mi archivo de Excel a la base de datos en tiempo real, el problema con los datos de cadena se resolvió, para el año igual a la consulta, debería haberlo analizado a int primero, después de analizar el valor del año a entero ese problema también se resolvió.

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

0

creo que estas buscando

 await database() .ref('news') .orderByChild('coin_name') .equalTo('algorand')

Sin embargo, tenga en cuenta que estas teclas secuenciales numéricas suelen ser un antipatrón en Firebase. Para saber por qué y una estructura más idiomática con teclas de inserción, lea Prácticas recomendadas: arreglos en Firebase .

Un ejemplo funcional de esto: https://jsbin.com/focaveq/3/edit?js,console

about 4 years ago · Juan Pablo Isaza Denunciar

0

 { "coins" : [ { } ], "news" : [ { "coin_name" : "algorand", "event_date" : "2019-06-24", "exchange" : "crypto.com", "month" : "6", "year" : "2019" }, { "coin_name" : "algorand", "event_date" : "2021-01-06", "exchange" : "bitmart", "month" : "1", "year" : "2021" }, { "coin_name" : "litecoin", "event_date" : "2020-12-25", "exchange" : "binance qtly", "month" : "12", "year" : "2020" }, { "coin_name" : "litecoin", "event_date" : "2021-01-04", "exchange" : "coinflex", "month" : "1", "year" : "2021" }, { "coin_name" : "tron", "event_date" : "2020-06-20", "exchange" : "resfinex", "month" : "6", "year" : "2020" }, { "coin_name" : "tron", "event_date" : "2020-07-07", "exchange" : "all", "month" : "7", "year" : "2020" }, { "coin_name" : "tron", "event_date" : "2020-07-10", "exchange" : "phemex", "month" : "7", "year" : "2020" }, { "coin_name" : "tron", "event_date" : "2021-04-21", "exchange" : "all", "month" : "4", "year" : "2021" }, { "coin_name" : "tron", "event_date" : "2021-05-19", "exchange" : "phemex", "month" : "5", "year" : "2021" }, { "coin_name" : "tron", "event_date" : "2021-06-17", "exchange" : "bitpanda", "month" : "6", "year" : "2021" } ] }

esta es la instancia del conjunto de datos

about 4 years ago · Juan Pablo Isaza Denunciar

0

Después de toda mi investigación en la web, llegué a la conclusión de que la API de la base de datos en tiempo real de firebase no admite consultas anidadas con rutas desconocidas. Debería usar otra estructura o filtrar datos después de obtener todos los datos (que es muy ineficiente para grandes conjuntos de datos). Así que decidí intentar usar Firestore solo para noticias sin una etiqueta de noticias. Te dejaré saber si de esa manera funciona.

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