Есть ли способ получить последние сводные данные, не будучи последним в списке в Firebase? - PullRequest
1 голос
/ 22 июня 2019

У меня есть список чисел внутри, которые имеют определенные данные, в которые я добавляю значение «Sí» или «Нет», как на этом изображении:

enter image description here

Последний "Sí", который я добавил, был тот, который находится под номером 4, но если я сделаю фильтр в Firebase с

.equalTo("Sí").limitToLast(1)

Я возвращаю значение «Sí», расположенное в числе 5, а не в 4, который был последним «Sí», который я добавил в базу данных. Есть какой-то способ распознать последний «S», без необходимости того, что находится в последней позиции списка?

Я до сих пор не могу найти решение этой проблемы, надеюсь, вы мне поможете.

Спасибо.

1 Ответ

1 голос
/ 22 июня 2019

Есть какой-нибудь способ распознать последний "Sí", без необходимости, чтобы он был в последней позиции списка?

Да, есть.Наиболее распространенным подходом было бы добавить под каждым объектом новое свойство типа Timestamp с именем lastUpdate и затем запросить по убыванию в соответствии с ним.Каждый раз, когда вы обновляете значение, изменяйте значение также на lastUpdate с текущей отметкой времени.Вот как может выглядеть ваша схема:

Firebase-root
  |
  --- Users
        |
        --- 1
        |   | 
        |   --- Activo: "Si"
        |   |
        |   --- lastUpdate: 1561202277
        |
        --- 2
            | 
            --- Activo: "No"
            |
            --- lastUpdate: 1561202299

Вот как сохранить метку времени:

А вот как упорядочить по убыванию:

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