2017-06-13 56 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」]。謝謝! –