Solución:
Si sabe cuántos usuarios hay, puede hacer esto:
const numberOfUsers = 15;
const randomIndex = Math.floor(Math.random() * numberOfUsers);
var ref = firebase.database().ref('companies/01/users');
ref.limitToFirst(randomIndex).limitToLast(1).once('value').then(snapshot =>
{
var user = snapshot.val();
// do something with the user data
});
Sin embargo, si no sabe cuántos niños hay (o tiene una lista de niños almacenada en otro lugar), no hay una forma directa de resolver este problema sin recibir primero a todos los niños en el árbol. Consulte En Firebase, ¿hay alguna manera de obtener la cantidad de elementos secundarios de un nodo sin cargar todos los datos del nodo? para más información.
Tuve que resolver el mismo problema, agregué un número aleatorio de 0 a 1 a todos los registros para finalmente filtrar por Empieza en y limitToFirst a 1.
Ejemplo: https://your-project-qwert.firebaseio.com/example.json?orderBy=”random”&limitToFirst=1&startAt=0.84
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)