Как отсортировать Datasnapshot с помощью OrderByChild () из облачной функции - PullRequest
0 голосов
/ 31 марта 2020

Я работаю с облачными функциями и пытаюсь получить DataSnapshot с потомками узла server , отсортированными в порядке возрастания по значению внутреннего потомка lastTimeUsed . Я использую orderByChild, но получаю dataSnapshot, который не сортируется так, как мне нужно.

Я читаю информацию здесь

enter image description here

Вот часть облачной функции

  var serversSorted = serversRef.orderByChild('{serverId}/lastTimeUsed').on("value", function(snapshot) {

    snapshot.forEach(function(data) {
      console.log(" Server is " + data.val().lastTimeUsed);
    });
  });

А это логи из облака Google enter image description here

1 Ответ

1 голос
/ 02 апреля 2020

Используемый вами синтаксис orderByChild('{serverId}/lastTimeUsed') не распознается Firebase. Таким образом, вы фактически упорядочиваете несуществующее свойство, что объясняет, что результаты располагаются в порядке их ключей.

Свойство, позволяющее получить все дочерние узлы servers по значению их lastTimeUsed свойство:

firebase.database.ref("servers").orderByChild('lastTimeUsed')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...