2014-10-12 3 views
0

Я пытаюсь получить данные на основе определенного диапазона дат, используя startAt() и endAt(). Данные задаются с приоритетом метки времени.Запрос диапазона дат Firebase

Моя структура выглядит следующим образом:

"sessions" : { 
    "1413099157" : { 
     ".priority" : 1413099338, 
     "max_position" : "100", 
     "unique" : "1", 
     "views" : "1" 
    }, 
    "1413105026" : { 
     ".priority" : 1413105210, 
     "max_position" : "100", 
     "unique" : "1", 
     "views" : "1" 
    }, 
    "1413105029" : { 
     ".priority" : 1413105210, 
     "max_position" : "100", 
     "unique" : "1", 
     "views" : "1" 
    }, 
    "1413105035" : { 
     ".priority" : 1413105219, 
     "max_position" : "100", 
     "unique" : "1", 
     "views" : "1" 
    }, 
    "2818847947" : { 
     ".priority" : 1413099248, 
     "max_position" : "100:quiet", 
     "views" : "3" 
    } 
} 

И мой запрос:

fbRef.child('sessions').on('value', function(session) { 
    var sessions = session.val(); 
    for (var sess in sessions) { 
     fbRef.child('sessions/'+sess) 
      .startAt(1412538604) 
      .endAt(1413143404) 
      .on('value', function(sess_data) { 
       console.log('Object: ', sess_data.val()); 
       console.log('Priority: '+sess_data.getPriority()); 
     }); 
    }; 
}); 

я получаю нуль как для стоимости и приоритета: Console.log() outputs

запросов работает хорошо, если Я удаляю startAt() и endAt().

Я искал ответ на какое-то время и не может найти решение для этого, не уверен, что это проблема ...

Будем рады любой помощи!

+0

Пожалуйста, либо удалить PHP код из вопросы (и заполните фактические значения, которые используются в вашем JavaScript-коде), или добавьте тег PHP к вопросу. –

+0

Хорошо, сделано. Заменили его фактическими значениями. –

ответ

1

Я не знаю, почему вы выбрали код конструкт выше, но это, кажется, намного проще и работает без проблем:

var ref = new Firebase('https://yourfirebase.firebaseio.com/'); 
ref.child('sessions') 
    .startAt(1413105210) 
    .endAt(1413105219) 
    .on('child_added', function(snapshot) { 
    console.log(snapshot.exportVal()); 
    }); 

См http://jsbin.com/qunonu/1/edit?js,console

+0

Интересно ... Наверное, мне не хватает некоторых основных концепций:/Проверю это снова. В любом случае у меня есть проблема с агрегацией, которую мне нужно сделать, я хочу подсчитать количество max_position, сгруппированных по позиции (0, 25, 50, 75, 100). Есть идеи? Firebase готова к таким запросам? –

+0

Не нашел ничего о сгруппированном подсчете, и я несколько раз читал документы Firebase, а также искал дополнительную информацию в Интернете. Я отправлю новый вопрос. Благодаря! –

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