2016-04-27 4 views
0

Я хотел бы получить несколько элементов в одном запросе, который представляет состояние во время запроса, поэтому я могу обработать их.Запросить несколько элементов как моментальный снимок с помощью Firebase

Так я впервые попробовал один раз() первый

ref.orderByChild("id").startAt(100).once("child_added", function(snapshot)) 

, но это только что вернулся первый вход. Я получаю весь результат, если вы используете on() вместо once(), но как я могу затем обнаружить, что все начальные результаты были отправлены для вызова(), чтобы начать обработку моих результатов?

Я также подумал о том, чтобы использовать один раз («значение»), но затем я получил бы все элементы и должен был бы выполнять фильтрацию на стороне клиента, поэтому это решение не будет реально масштабироваться.

Итак, что бы вы предложили?

+0

Быстрый первый ответ ниже. Вероятно, вы ищете больше, но это сложно сделать из вашего описания. Это действительно поможет, если вы отредактируете свой вопрос, включив минимальный ** полный ** код, который воспроизводит проблему. –

ответ

0

Вы можете получить все элементы, соответствующие запросу с value слушателю:

var query = ref.orderByChild("id").startAt(100); 
query.once("value", function(snapshot) { 
    snapshot.forEach(function(childSnapshot) { 
    console.log(childSnapshot.key(), childSnapshot.val()); 
    }); 
}) 
+0

Спасибо за ваш быстрый ответ и извините, если мой пример недостаточно объяснительный - это именно то, что я искал. Как уже было сказано, я также экспериментировал со слушателем ценности, но так или иначе не смог заставить его работать! – magicwerk

+0

Если мой ответ был полезен, нажмите кнопку вверху слева от него. Если он ответил на ваш вопрос, нажмите галочку, чтобы принять его. Таким образом, другие знают, что вам (в достаточной мере) помогли. –

Смежные вопросы