Это моя структура данных в базе данныхСортировка запросов по глубоким путям с переменным ключом
"2017" : {
"metadata" : {
"February" : {
"-Kc3BF0V1iLgtnI65LuR" : {
"date" : "2017-02-04T13:36:38.311Z",
"price" : 80
},
"-Kc3BF0V1xxfrtnI65OlS" : {
"date" : "2017-02-11T13:36:38.311Z",
"price" : 70
},
"-Kc3BF0V1xxfrtnIOZozp" : {
"date" : "2017-02-03T13:36:38.311Z",
"price" : 90
}
},
"January" : {
"-Kc3E5bpxpo3RpSHH3fn" : {
"date" : "2017-01-01T13:50:12.264Z",
"price" : 45
},
...
}
}
}
Я показываю эти данные в списке в моем ионном приложении как так
February
+ 2017-02-04
+ 2017-02-11
+ 2017-02-03
January
+ 2017-01-01
Сейчас я для сортировки данных в соответствии месяцы, поэтому данные в соответствии с февраля станут
February
+ 2017-02-03
+ 2017-02-04
+ 2017-02-11
Я read in the firebase blog, что они Добавлена функциональность, которую вы можете заказывать по глубоким путям. Но я не могу найти, как вы можете запросить его, когда у вас есть динамический ключ, в моем случае месяцы - это динамические клавиши. Поскольку каждый ребенок месяца нужно сортировать по дате.
я извлечение данных из firebase с этим фрагментом
var dbRef = firebase.database().ref(year + '/metadata/').orderByChild('date'); //How to order by date if my month is variable?
return firebaseObject(dbRef);
Я также попытался упорядочением в угловом с помощью OrderBy фильтра, но это не будет работать, как это должно быть массивом. Я нашел blog, где они преобразуют его в массив, но вы потеряете ключ, и мне все еще нужно это, потому что список будет доступен для клика, чтобы я мог перейти на его страницу сведений. Также я не думаю, что сортировка на интерфейсе - хорошая идея.
Но с этим я не структура данных будет иметь возможность показать мой в виде месяца/дней, как показано выше. Разве нет другого подхода или как я могу достичь еще того, что хотел бы иметь? – mXX
Исправить. Поэтому, если вы хотите использовать этот прецедент, вы также должны * хранить список данных по месяцам. В базах данных NoSQL вы часто дублируете данные, чтобы разрешить использование приложений, которые необходимы вашему приложению. Я рекомендую читать [Моделирование данных NoSQL] (https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/) и смотреть [разработчики Firebase для SQL] (https://www.youtube .com/плей-лист? список = ФАПЧ K7zZEsYLlP-к-RKFa7RyNPa9_wCH2s). –