AngularJS - Append to a model with a $resource

I have this service:

factory('Post', function($resource) {
    return $resource('/api/post.json', {},
        {
            query: {method:'GET', isArray: false}
        }
    );
})

And I have this controller:

function PostsCtrl($scope, Post) {
    // init
    $scope.page = 0;
    $scope.page_has_next = true;

    $scope.loadMore = function() {
        if($scope.page_has_next) {
            $scope.posts = Post.query({page: ++$scope.page},
                function(data) {
                    $scope.page_has_next = data.has_next;
                }
            );
        }
    }

    $scope.loadMore();
}

This works just fine, each time loadMore() is executed the model gets updated with the next page until there are no more pages. However, I want to append the new set of posts to the current model instead of replacing it, how can I do that?

Assuming that posts is a array:

$scope.posts = $scope.posts.concat(Post.query({page: ++$scope.page})

This will only work if the new posts has no duplicates with the old posts. If there are duplicates, you have to traverse the array and push only new posts.