2

Есть ли способ получить все счета пользователей в firebase? (аутентифицируется через пароль, facebook, твиттер и т. д.). Всего было зарегистрировано всех пользователей социальной и электронной почты &.Firebase общий счет пользователя

ответ

6

Нет встроенного метода, чтобы получить общее количество пользователей.

Вы можете сохранить индекс userIds и потянуть их вниз и посчитать их. Однако это потребует загрузки всех данных для получения счета.

{ 
    "userIds": { 
    "user_one": true, 
    "user_two": true, 
    "user_three": true 
    } 
} 

Затем при загрузке данных вы можете назвать snapshot.numChildren():

var ref = new Firebase('<my-firebase-app>/userIds'); 
ref.once('value', function(snap) { 
    console.log(snap.numChildren()); 
}); 

Если вы не хотите, чтобы загрузить данные, вы можете сохранить общее количество с помощью transactions.

var ref = new Firebase('<my-firebase-app>'); 
ref.createUser({ email: '', password: '', function() { 
    var userCountRef = ref.child('userCount'); 
    userCountRef.transaction(function (current_value) { 
    // increment the user count by one 
    return (current_value || 0) + 1; 
    }); 
}); 

Тогда вы можете слушать для пользователей в режиме реального времени:

var ref = new Firebase('<my-firebase-app>/userCount'); 
ref.on('value', function(snap) { 
    console.log(snap.val()); 
}); 
+0

Так ты говоришь, что я не могу полагаться на систему Идент пользователя firebase и я должен создать что-то, чтобы сохранить новые UserIds все время. Правильно ли я понимаю? –

+1

Аутентификация пользователей Firebase выполняется только для аутентификации пользователей. Если вы хотите что-то сделать с этими данными, вы храните их в своей базе данных Firebase. –

+0

ОК, справедливо. Я хотел бы иметь доступ, по крайней мере, ко всем идентификаторам пользователей или что-то в этом роде :) Я принимаю это как ответ –

0

Вот Javascript модуль для этой цели - https://gist.github.com/ajaxray/17d6ec5107d2f816cc8a284ce4d7242e

В одной строке, что она делает это -

Храните список (и количество) пользователей онлайн в веб-приложении Firebase - изолированными комнатами или глобальными LY

Для подсчета всех пользователей с помощью этого модуля -

firebase.initializeApp({...}); 
var onlineUsers = new Gathering(firebase.database()); 
gathering.join(); 

// Attach a callback function to track updates 
// That function will be called (with the user count and array of users) every time user list updated 
gathering.onUpdated(function(count, users) { 
    // Do whatever you want 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^