我有多个帖子,每个帖子都有自己的评论。我想查询所有帖子,按他们的时间戳排序。我试过: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 ...
但使用我必须在向用户显示之前对数组进行排序。
任何想法我怎么能做到让他们在服务器上排序?
编辑 表示火力点的数据:
{
"-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),我必须设置observeEventType(.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) –