Softhinker.com
Softhinker.com

Reputation: 895

AngularFirebase2: Query list with equalTo

I have list of objects on Firebase like this:

- members
  -KkN7J3duEB0Lqz01S7v
      |- address: "Chicago Ave, Minneapolis, MN, USA"
      |- isDeleted: true

And I'd like to query for whatever "isDeleted" is false, and here is my code snippet:

return this.database.list('/members', {
  query: {
    limitToLast: (pageNumber * this.pageSize),
    equalTo: {
      value: false,
      key: 'isDeleted'
    }
  }
})

However, the browser console gives this error:

core.es5.js:1084 ERROR Error: Query: When ordering by priority, the first argument passed to startAt(), endAt(), or equalTo() must be a valid priority value (null, a number, or a string).
    at Qh (database.js:231)
    at U.webpackJsonp../node_modules/firebase/database.js.g.Nd (database.js:240)
    at U.webpackJsonp../node_modules/firebase/database.js.g.If (database.js:242)
    at MapSubscriber.project (firebase_list_factory.js:31)
    at MapSubscriber.webpackJsonp../node_modules/rxjs/operator/map.js.MapSubscriber._next (map.js:77)
    at MapSubscriber.webpackJsonp../node_modules/rxjs/Subscriber.js.Subscriber.next (Subscriber.js:89)
    at SafeSubscriber._next (query_observable.js:59)
    at SafeSubscriber.webpackJsonp../node_modules/rxjs/Subscriber.js.SafeSubscriber.__tryOrUnsub (Subscriber.js:238)
    at SafeSubscriber.webpackJsonp../node_modules/rxjs/Subscriber.js.SafeSubscriber.next (Subscriber.js:185)
    at Subscriber.webpackJsonp../node_modules/rxjs/Subscriber.js.Subscriber._next (Subscriber.js:125)

Please advise. Thanks!

Upvotes: 1

Views: 342

Answers (2)

nisanarz
nisanarz

Reputation: 927

The solution is:

return this.database.list('/members', {
  query: {
    orderByChild: 'isDeleted',
    equalTo: false,
    limitToLast: (pageNumber * this.pageSize) 
  }
})

Upvotes: 2

odenman250
odenman250

Reputation: 130

I think you need to add orderByChild: 'isDeleted' to the query. And be sure to update your database rules.

Upvotes: 1

Related Questions