'query' does not exist in type 'QueryFn' | angularfire2

It's not working, because AngularFire expects a function to be passed as a second argument.

I think your example was the right way to go during the beta version. (not 100% sure)

You have use it the following way:

// make sure to provide a child in the orderByChild call
getMessages(): Observable<ChatMessage[]> {
    return this.db.list('/messages', ref => {
      return ref.limitTolast(25).orderByKey(true)
    });
  }

Learn more about querying lists here: https://github.com/angular/angularfire2/blob/master/docs/rtdb/querying-lists.md


QueryFn must return a firebase.database.Query, not void. You can code the query like this one, for more clear:

getMessages(): Observable<ChatMessage[]> {
    return this.db.list('/messages', ref => {
      let q = ref.limitTolast(25).orderByKey(true);
      return q;
    });
  }