AngularJS filter has no effect after Firebase output adjusted from object to array

I have $asArray in the factory to adjust the data from object --> array, however filter seems to have no effect, i.e list is not filtered at all.

I referred to this Plunker but its different. http://plnkr.co/edit/qwF56h?p=preview

Does anyone know whats wrong? Thanks for the help!

Factory

app.factory('Post', function($firebase, FIREBASE_URL) {

  var ref = new Firebase(FIREBASE_URL);
  var posts = $firebase(ref.child('posts')).$asArray();

  var Post = {
    all: posts,


This is the controller for search

app.controller('SearchCtrl', function($scope, Post, $firebase, FIREBASE_URL) {

    $scope.posts = Post.all;


Lastly the html

<div class>
  <input type="text" ng-model="search" placeholder="Search..">
    ....
  <div class ng-repeat="post in posts| filter:search">