AngularFirebase2:使用 equalTo 查询列表
AngularFirebase2: Query list with equalTo
我在 Firebase 上有这样的对象列表:
- members
-KkN7J3duEB0Lqz01S7v
|- address: "Chicago Ave, Minneapolis, MN, USA"
|- isDeleted: true
我想查询 "isDeleted" 是否为假,这是我的代码片段:
return this.database.list('/members', {
query: {
limitToLast: (pageNumber * this.pageSize),
equalTo: {
value: false,
key: 'isDeleted'
}
}
})
但是,浏览器控制台给出了这个错误:
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)
请指教。谢谢!
我认为您需要将 orderByChild: 'isDeleted' 添加到查询中。并确保更新您的数据库规则。
解决方法是:
return this.database.list('/members', {
query: {
orderByChild: 'isDeleted',
equalTo: false,
limitToLast: (pageNumber * this.pageSize)
}
})
我在 Firebase 上有这样的对象列表:
- members
-KkN7J3duEB0Lqz01S7v
|- address: "Chicago Ave, Minneapolis, MN, USA"
|- isDeleted: true
我想查询 "isDeleted" 是否为假,这是我的代码片段:
return this.database.list('/members', {
query: {
limitToLast: (pageNumber * this.pageSize),
equalTo: {
value: false,
key: 'isDeleted'
}
}
})
但是,浏览器控制台给出了这个错误:
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)
请指教。谢谢!
我认为您需要将 orderByChild: 'isDeleted' 添加到查询中。并确保更新您的数据库规则。
解决方法是:
return this.database.list('/members', {
query: {
orderByChild: 'isDeleted',
equalTo: false,
limitToLast: (pageNumber * this.pageSize)
}
})