Ответ 1
Теперь вы можете запросить и индексировать произвольно глубоко.
{
"rules": {
"$dinosaur": {
".indexOn": ["stats/height"]
}
}
}
и запрос по вложенным значениям:
.orderByChild('stats/height')
У меня есть куча ключей, которые я хочу индексировать, используя .indexOn
Предположим, что мои данные выглядят следующим образом. Я хочу иметь возможность использовать .orderByChild("height")
.
{
"lambeosaurus": {
"stats": {
"height" : 2.1,
"length" : 12.5,
"weight": 5000
}
},
"stegosaurus": {
"stats": {
"height" : 4,
"length" : 9,
"weight" : 2500
}
}
}
Каким образом я определяю правило индексирования height
, которое является дочерним элементом stats
? Нужно ли мне реструктурировать или сгладить мои данные?
Теперь вы можете запросить и индексировать произвольно глубоко.
{
"rules": {
"$dinosaur": {
".indexOn": ["stats/height"]
}
}
}
и запрос по вложенным значениям:
.orderByChild('stats/height')
Обновление 2015/12/17: Firebase теперь поддерживает глубокую индексацию, поэтому см. ответ Tom.
Вы можете произвольно вставлять правила индексирования в дерево данных, хотя вы можете запрашивать только атрибуты одного списка элементов за раз, а не произвольно. Вот некоторые примеры правил, чтобы индексировать высоту:
{
"rules": {
"$dinosaur": {
"stats": {
".indexOn": ["height"]
}
}
}
}