Если у меня есть следующая структура в Firebase:запросов между двумя другими значениями в Firebase
{
"images": {
"first_image": {
"url": "https://ima.ge/first_image",
"uploader": "john",
"start": "1465920841",
"end": "1466920841"
},
"second_image": {
"url": "https://ima.ge/second_image",
"uploader": "louis",
"start": "1465920987",
"end": "1476920987"
},
"third_image": {
"url": "https://ima.ge/third_image",
"uploader": "peter",
"start": "1465920990",
"end": "1484920990"
}
}
}
Можно ли запросить, например, все изображения, где текущая метка времени между «старт» и «конец» ? Поэтому, если текущая временная метка (которая составляет миллисекунды с эпохи Unix) равна 1475920987
, она вернет second_image
и third_image
, но не first_image
, потому что временная метка не находится в диапазоне начала и конца.
Я боюсь, что это невозможно, потому что в других вопросах stackoverflow пользователи указали, что несколько запросов невозможно. Поэтому, если я хочу сделать систему голосования, в которой пользователь может решить, когда другим разрешено голосовать, можно ли показывать пользователям только рекламные изображения? Даже если несколько запросов не разрешены?
Я использую SDK для iOS и Android Firebase, но ответ на конкретный язык не требуется.
Был аналогичный вопрос несколько месяцев назад, но я не могу найти его прямо сейчас. Я не думаю, что мы нашли там решение. Проблема в том, что запросы Firebase могут фильтроваться только одним свойством, поэтому вам нужно найти способ объединить два значения в одно свойство таким образом, чтобы разрешить фильтрацию, которую вы ищете. Как сказал: тогда я не мог думать об одном, но, возможно, кто-то еще придумает решение на этот раз. –
Может быть не оптимальным, но вы можете попробовать использовать вложенные запросы для фильтрации. Например, загрузите все по концам и затем отфильтруйте его вторым запросом. –