Сортировать результаты Firebase на стороне клиента - PullRequest
0 голосов
/ 18 января 2019

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

Я знаю, что не могу использовать 2 orderBy, поэтому я сделал orderByChild и вернул нужные мне данные. Теперь мне нужно заказать их по дате.

Перепробовал много вещей, но ничего не получилось, что я пробовал:

Сначала я помещаю полученные данные в массив, затем

  • использованные значения object.valits .sort, безуспешно
  • использовал lodash с _.orderBy, пустой массив
  • изменил синтаксис обоих выше, безуспешно
  • заказал другие данные, не извлеченные из Firebase и сработавшие (lodash orderBy пример)

Любой совет? Желаемое поведение:

Ожидается:

Код, который я использую:

var ref2 = firebase.database().ref(sessionToken+'/users/agendas/');
ref2.orderByChild('animalUid').equalTo(codigoAnimal).on("child_added", function(snapshot) {
  var dadosFiltrados = snapshot.val();
  var keys = snapshot.key;

  var appendAulas = $('#atendimentosTimeline');
  var tdLine = "";
  tdLine += '<div class="timeline__box"><div class="timeline__date"><span class="timeline__day"></span><span class="timeline__month">'+dadosFiltrados.hora+' - '+dadosFiltrados.end+'</span></div>';

  var ref3 = firebase.database().ref(sessionToken+'/users/atendimento/');
  ref3.orderByKey().equalTo(dadosFiltrados.idAtendimento).on("child_added", function(snapshot) {
  // firebase.database().ref(sessionToken+'/users/atendimento/'+dadosFiltrados.idAtendimento).once("value", function(info){
  var keyAtendimento = snapshot.key;
  var dadosAtendimento = snapshot.val();

Мне нужно отсортировать данные в dadosFiltrados.

1 Ответ

0 голосов
/ 24 января 2019

Решение:
OrderByChild поставляется по Firebase (https://www.firebase.com/docs/web/guide/retrieving-data.html#section-ordered-data)
Поэтому я экспортировал базу данных (файл .json), отредактировал записи, используя лексикографический ключ (не проверял ключи полученных данных ранее), сохранил и импортировал.

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