Вы можете сделать:
ref.queryOrdered(byChild: "29 August 2018/14:00 - 15:00")
.queryEqual(toValue: "vyMDLD3V6paRWiA7Xlp12zanT7h1")
С ref
, указывающим на bookedCourtsDaily
. Это будет работать, но для эффективного выполнения требуется, чтобы вы определяли индекс для каждого временного интервала. Так что в ваших правилах вам понадобится что-то вроде:
{
"bookedCourtsDaily": {
"$date": {
".indexOn": ["13:00 - 14:00", "14:00 - 15:00", "15:00 - 16:00"] // etc
}
}
}
Если это не работает для вас, я бы порекомендовал более распространенный подход создания обратного поиска в вашем JSON:
{
"codeToAppointment": {
"vyMDLD3V6paRWiA7Xlp12zanT7h1": "29 August 2018/14:00 - 15:00",
"anotherCode": "28 August 2018/11:00 - 12:00"
}
}
С помощью этой структуры вы можете искать путь к встрече из «кода» (или любого другого значения значения в JSON).
Подобное дублирование данных довольно распространено в базах данных NoSQL, таких как Firebase.