У меня есть несколько сообщений, и у каждого сообщения есть свои собственные комментарии. Я хочу запросить все сообщения, упорядоченные по их отметкам времени. Я пробовал:Запрос на заказ Firebase
let query = Firebase(url: path)
let query.queryOrderedByChild("commentDate").observeEventType(.ChildAdded)
{ (queryResponse, cancelBlock) { ....
"commentDate" - целые числа на сервере. В этом запросе я получаю только первый объект
let query = Firebase(url: path)
query.queryOrderedByChild("commentDate").queryLimitedToFirst(100).observeEventType(.ChildAdded) { (queryResponse, cancelBlock) { ...
я получаю только первый объект, а также ... Единственное решение, которое я есть в данный момент запросить все:
query.queryOrderedByChild("commentDate").observeEventType(.Value) { (queryResponse, cancelBlock) in ...
Но используя это я должен отсортировать массив перед показом пользователю.
Любые идеи, как я могу их сделать, чтобы отсортировать их на сервере?
Редактировать Представление firebase данных:
{
"-KGRZmSIDXz5hHkelthQ" : {
"something1" : "783151",
"something2" : "21",
"something3" : "wjeicisje ejej",
"comments" : "",
},
"-KGRa5skGzA1GAG09Lno" : {
"something1" : "783151",
"something2" : "21",
"something3" : "wjeicisje ejej",
"comments" : "",
},
"-KGVr-tti1zr1M1QLlHL" : {
"something1" : "783151",
"something2" : "21",
"something3" : "wjeicisje ejej",
"comments" : {
"-KGX1_rFSBLmQJ7QzCRc" : {
"commentBody" : "something",
"commentDate" : 1.461933727259896E9,
"commentOwnerImageView" : "something",
"commentOwnerName" : "something"
},
"-KGX1r5Lnhv9YbQre6as" : {
"commentBody" : "something",
"commentDate" : 1.461933797884702E9,
"commentOwnerImageView" : "something",
"commentOwnerName" : "something"
},
"-KGXVGKA0SYm-vRs6zsv" : {
"commentBody" : "something",
"commentDate" : 1.461941507496439E9,
"commentOwnerImageView" : "something",
"commentOwnerName" : "something"
},
},
}
}
Что происходит, когда вы используете значение типа события вместо добавления ребенка? –
Когда я устанавливаю «Значение», я получаю все объекты. Но когда я устанавливаю «добавленный ребенок», я получаю только один объект. Для запроса на сервере (orderbyChild) я должен установить функцию registerEventType (.ChildAdded). Вот еще информация: https://www.firebase.com/docs/ios/guide/retrieving-data.html#section-queries – Andrew
Насколько я знаю, вы можете делать запрос с каждым типом события, а не только с добавлением ребенка , И как указано в [guide] (https://www.firebase.com/docs/ios/guide/retrieving-data.html#section-event-types), дочерний элемент должен возвращать только 1 объект. Вы еще пробовали другие заказы? [queryOrderedByChild :, queryOrderedByKey :, queryOrderedByValue или queryOrderedByPriority] (https://www.firebase.com/docs/ios/guide/retrieving-data.html#section-queries) –