Как отсортировать следующую структуру в Firebase по sortOrder?Firebase orderByChild Игнорируется
categories {
{
"b": {
"name": "Banana",
"sortOrder": 2
},
"a": {
"name": "Apple",
"sortOrder": 1
}
}
}
Из документации это выглядит так просто, как:
ref('categories').orderByChild('sortOrder').once('value') ...
Однако первый узел Возвращается банан. Неважно, какое значение строки я использую. Например, следующий возвращает те же результаты:
ref('categories').orderByChild('xxx').once('value') ...
Полная функция:
public list(): Observable<Category[]> {
let ref = firebase.database().ref('categories').orderByChild('sortOrder');
return Observable.fromPromise(<Promise<any>>ref.once('value'))
.flatMap(snapshot => {
let objects = snapshot.val();
let categories: Array<Category> = new Array();
for (let key in objects) {
let category: Category = objects[key];
category.code = key;
categories.push(category);
}
return Observable.of(categories);
}
);
}
Как вы обращаетесь к детям в обратном вызове? – cartant
Добавлен ко всем функциональным кодам. –