2017-12-30 17 views
-1

사용자 입력에 의해 이름과 성이 주어진 데이터베이스의 모든 사람을 얻고 싶습니다.Firebase Realtime Database를 쿼리하고 필터링하는 방법

는 지금까지 내 코드입니다 :

admin.database().ref('persons').orderByChild('Firstname').equalTo(firstName).limitToLast(1).once("value").then(function(snapshot) { 
} 

이 코드는 FIRSTNAME 필터링 작동하지만 다른 추가의 방법을 찾을 수 없습니다 경우 마지막 이름에 대한 절. 다른 주문을 추가하려고했는데 작동하지 않는 것 같습니다. 실시간 데이터베이스가 간단한 쿼리를 작성하는 것이 어렵지 않아야합니까?

+0

Firebase Realtime Database 쿼리는 단일 속성에 대해서만 주문/필터링 할 수 있습니다. 대부분의 경우 필터링 할 값을 단일 (합성) 속성으로 결합 할 수 있습니다. ''FirstName_LastName ":"Frank_van Puffelen "'. 이 접근법과 다른 접근법에 대한 예제는 http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase –

답변

1

짧은 대답 : 할 수 없습니다. 긴 대답 : Google의 새로운 Firestore 데이터베이스를 사용하거나 클라이언트에서 수동으로 필터링을 수행하십시오. 다른 옵션은 this answer을 참조하십시오.

+0

에 대한 답변을 참조하십시오. 그러면 누가 실시간 데이터베이스를 만들 었는지 말할 수 있습니다. 그것은 빤다! 답변 해주셔서 감사합니다! – Mizlul

+1

예 ... 사용자 정의 색인을 사용하여 할 수 있습니다. https://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase – charlietfl

+0

그건 사실이 아니야, 네가 할 수 없다는 대답을 읽으면. 'indexOn'은 단순히 임의의 자식을 정렬 할 때 읽기 성능을 향상시키는 방법입니다. – SUPERCILEX

관련 문제