Как загрузить последние сообщения с баллами выше 100?
СИТУАЦИЯ:
В настоящее время я загружаю последние сообщения в хронологическом порядке с помощью этого кода:
CODE:
$scope.data = [];
var _n = Math.ceil(($(window).height() - 50) / (350)) + 1;
var _start = <%= lastID %>;
var firstElementsLoaded = false;
$scope.getDataset = function() {
fb.orderByChild('id').startAt(_start).limitToFirst(_n).on("child_added", function(dataSnapshot) {
_start = dataSnapshot.child("id").val() + 1;
console.log("LAST TRUE ID:"+ _start);
$scope.data.push(dataSnapshot.val());
$scope.$apply()
console.log("THE VALUE:"+$scope.data);
firstElementsLoaded = true;
});
};
$scope.getDataset();
Вопрос:
Как мне изменить его, чтобы по существу иметь то же самое поведение, но только для запросов сообщений с оценками выше 100 в соответствии с их хронологическим порядком?
UPDATE:
Наконец-то я нашел способ использовать метод "создать другой индекс" с моей архитектурой. Но остается одно препятствие:
Как скопировать дочернийNode из одного node в другой?
Ответы
Ответ 1
Я переосмыслил свою архитектуру и создал специальный индекс для верхних сообщений:
if (funPost.score >= global.hotNumber && funPost.hot == false) {
var hotPostRef = firebase.database().ref("hot/section/"+key);
var hotPost = {
title: funPost.title,
image: funPost.image,
id: funPost.id,
key: funPost.key
}
hotPostRef.set(hotPost);
funPostRef.update({"hot": true});
}
else if (funPost.score <= (global.hotNumber - 25) && funPost.hot == true) {
var hotPostRef = firebase.database().ref("hot/section/"+key);
hotPostRef.remove();
funPostRef.update({"hot": false});
}