我想一个接一个地获得最多UpVotes的热门帖子。
this.nextPostObservableList= this.af.database.list('/listOfPost',{
query :{
orderByChild : 'postUpvote',
limitToLast : 2,
endAt : this.currentPost.postUpvote
}
});
在这种情况下,如果我使用postUpvote orderByChild,我可以一个接一个地导航。但是如果多个帖子具有相同的upVote计数,那么我无法导航(根据上面的代码片段大于2)。在下面的场景中超越post2。请提出解决方案。
{
"post1" : {
"postUpvote" : 10,
"postname" : "sample 1"
},
"post2" : {
"postUpvote" : 10,
"postname" : "Sample 2"
},
"post3" : {
"postUpvote" : 20,
"postname" : "sample3"
},
"post4" : {
"postUpvote" : 10,
"postname" : "sample4"
}
}
答案 0 :(得分:3)
支持可传递给key
的可选startAt
参数为added in AngularFire2 2.0.0-beta.7
。那时,endAt
和equalTo
的Firebase SDK文档声明,只有在按优先级排序时,才能使用这些方法的可选key
参数。
此文档已更新,并声明在订购子级,值或优先级时支持该文档。
使用key
或endAt
时,PR添加了对AngularFire2的equalTo
参数的支持,因此下一个版本将支持指定{{1}在按孩子排序并使用key
。
要指定可选的endAt
,您可以使用包含key
和value
的对象文字,因此您的查询可以检索当前帖子及其上一篇文章,就像这样:
key