Как можно упорядочить данные точек в Firebase для React native - PullRequest
0 голосов
/ 08 сентября 2018

Это моя база данных, и я использую базу данных в реальном времени

a busy cat

Я хочу упорядочить имя пользователя по точкам и перечислить 10 лучших пользователей в реакции на нативную, но я попробовал методы заказа Firebase и не смог.

Я пытался так:

let ref = firebase.database().ref('/users'); 
ref
 .orderByChild('TotalPoint')
 .limitToFirst(10)
 .on('value', function(snapshot) { console.log(snapshot.val()); }); 

но не работает

Какой метод Firebase я должен использовать?

Ответы [ 3 ]

0 голосов
/ 08 сентября 2018

Есть две проблемы с вашим кодом:

  1. Вам необходимо сделать заказ на Point/TotalPoint, так как это путь к значению, по которому вы хотите заказать каждого пользователя.
  2. Вам необходимо обработать порядок результатов, поскольку при вызове val() порядок элементов теряется (так как порядок свойств в объекте JavaScript не определен).

Общий фрагмент кода становится:

let ref = firebase.database().ref('/users'); 
ref
 .orderByChild('Point/TotalPoint')
 .limitToFirst(10)
 .on('value', function(snapshot) { 
    snapshot.forEach(function(user) {
      console.log(user.val()); 
    });
  }); 
0 голосов
/ 09 сентября 2018

Я решаю этот метод, измените мои правила FireBase чем;

 {
 "rules":{
    "users":{
        "$uid":{
                ".read":"$uid === auth.uid",
                ".write": "$uid === auth.uid"
                }
            },
 }
 }

изменить на это =>

 {
 "rules":{
   ".read":true,
    "users":{
        "$uid":{
                ".read":"$uid === auth.uid",
                ".write": "$uid === auth.uid"
                },
            },
 }
 }

и попробуйте @Frank van Puffelen - метод обмена - работа, спасибо

0 голосов
/ 08 сентября 2018

Я думаю, вы должны использовать эти методы

.orderByChild("TotalPoint"), поэтому вы делаете запрос на основе "точек"

.limitToFirst("10") Устанавливает максимальное количество элементов, равное 10, для возврата из начала упорядоченного списка результатов.

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