query leer from ejemplo datos datasnapshot data consultas android firebase firebase-database nosql

android - leer - Estructura de la base de datos en Firebase



leer datos firebase android (1)

¿Cómo puedo crear una estructura donde un juego esté vinculado a 2 jugadores? Por ejemplo, si creo un juego de ping pong y después del juego, quiero mantener el puntaje y los jugadores. ¿Cómo puedo hacer eso? ¿Cómo puedo vincular a los 2 jugadores en un juego y saber qué jugador ganó y cuál perdió?

Hice algo similar en SQL pero no sé cómo hacerlo en JSON (Firebase) para Android. En SQL, creé una tabla de usuarios y una tabla de juegos y registré el jugador 1 y el jugador 2 con su nombre de usuario y luego hice un SELECCIONAR con lo que ganó el jugador y cuál perdió.

¿Cómo puedo hacer esto en Firebase?

¡Gracias!


Con NoSQL, los datos se aplanan y se duplican cuando es necesario para un acceso rápido a los datos relevantes. Esto se llama desnormalización, que puede leer más en esta gran publicación .

Entonces, la publicación del juego de ping pong que proporcionó, su base de datos JSON de firebase podría verse más o menos así:

players: { -KUQvO_GBh4jdale6Pj4: { name: ''Hillary'', wins: 2, lost: 0, tied: 0, gamesPlayed: [ -KUQvQhApOLfhl0yzTTH, -KUQwI4P9q4DdSsUn9Du ] }, -KUQvQ3_--kO67AOgc9D: { name: ''Trump'', wins: 0, lost: 2, tied: 0, gamesPlayed: [ -KUQvQhApOLfhl0yzTTH, -KUQwI4P9q4DdSsUn9Du ] } }, games: { -KUQvQhApOLfhl0yzTTH: { player1: -KUQvO_GBh4jdale6Pj4, player2: -KUQvQ3_--kO67AOgc9D, winner: player1, timestamp: 1476863790 }, -KUQwI4P9q4DdSsUn9Du: { player1: -KUQvO_GBh4jdale6Pj4, player2: -KUQvQ3_--kO67AOgc9D, winner: player1, timestamp: 1476863999 } }

ACTUALIZAR

Este artículo habla de actualizaciones de ubicaciones múltiples que le permiten realizar actualizaciones simultáneas en varias rutas para preservar la integridad de los datos. Si realiza cada actualización individualmente, existe la posibilidad de que falle uno o más, lo que significa que sus datos pueden significar que está fuera de control.