firebase过滤器和分页

时间:2015-05-29 11:45:20

标签: angularjs firebase

我试图在firebase上创建一个可搜索的帖子列表,所以我有这样的firebse db

{
"post": {
    "postId": {
        "title": "bla bla bla",
        "date": "1/1/2015"
    },
    "postId2": {
        "title": "bla bla bla",
        "date": "2/1/2015"
    }
}}

现在我想按照标题进行过滤,只发布标题以" bla bla"然后按日期进行分页和排序,这样我就编写了这段代码:

 var posts=new Firebase(URL + "/post");
 posts=posts.orderByChild("title").startAt("bla bla").endAt("bla bla"+"z");//this will only show posts that starts with bla bla
 posts=posts.orderByChild("date").startAt(10).limitToFirst(10);//this will filter and show only the second page
 posts.on("value", function (raw_data) {
      //showing the results and more
 });

每个查询都有效,但当我把它们放在一起时我会收到错误

  

Query.orderByChild:您无法合并多个orderBy调用。

我该怎么办? 我不喜欢使用我自己的服务器并将数据复制到我的服务器并在那里进行

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点,但这是一种方式。

在发布查询的结果中放置日期查询。从概念上讲:

var posts=new Firebase(URL + "/post");
posts=posts.orderByChild("title").startAt("bla bla").endAt("bla bla"+"z");
posts.on("value", function (raw_data) {
     //now craft a date query using the results from the posts query
     //  or, it could be filtered in code
});