2017-06-13 61 views
1

我有对象的名单上火力地堡就像这样:AngularFirebase2:查询名单与equalTo

- 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) 

请指教。谢谢!

回答

2

的解决方案是:

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

谢谢,它的工作原理!还需要添加新的数据库规则,如下面的@ odenman250所述。 –

1

我认为你需要添加orderByChild:'isDeleted'到查询。并确保更新您的数据库规则。

+0

是,添加了此规则: “.indexOn ”:[“ 请将isDeleted”]。谢谢! –