2017-02-23 4 views
0
"vehicles" : { 
      "-KbwlIGLm6dxffPJoJJB" : {    
      "fuel" : "petrol", 
      "groups" : { 
       "-KdWh_9KVF16efcSdrji" : true, 
       "-Kdb1G720MDgbuR3nPBL" : true 
      }, 
      "make" : "Honda", 
      "model" : "City", 
      "name" : "Honda City",    
      "speed_limit" : 100, 
      "tank_size" : 32, 
      "type" : "car" 
      }, 
      "-KdU-BlfEdqzKxFjGI3D" : {    
      "fuel" : "petrol", 
      "groups" : { 
       "-KdWh_9KVF16efcSdrji" : true 
      }, 
      "make" : "yamaha", 
      "model" : "FZ", 
      "name" : "Yamaza FZ",    
      "speed_limit" : 60, 
      "tank_size" : 12, 
      "type" : "bike" 
      }   
     } 

groups의 키가 -KdWh_9KVF16efcSdrji 인 결과를 검색하고 싶습니다.부울 값을 기반으로 Firebase를 쿼리하는 방법은 무엇입니까?

vehicles_ref.child("groups").orderByChild("-KdWh_9KVF16efcSdrji").equalTo(true).on 
("value", function (snapshot) { 
    console.log(snapshot.val()); 
}); 

그러나 현재 나는 위의 기준에 대한 NULL을 얻고있다.

내가 쿼리

vehicles_ref.orderByChild("/groups/-KdWh_9KVF16efcSdrji").equalTo(true).on("value", function (snapshot) { 
    console.log(snapshot.val()); 
}); 

변경 이제 결과를 얻는,하지만 지금은 점점

중포 기지 경고 경고 : 지정되지 않은 인덱스를 사용. ".indexOn"추가 고려 "그룹/-KdWh_9KVF16efcSdrji"더 나은 성능

방법이 경고를 제거하기 위해 인덱스를 추가하기위한 보안 규칙/차량에서?

+0

:

{ "rules": { "scores": { ".indexOn": ".value" } } } 

는 다음 링크를 사용할 수 있습니다. 색인을 추가 할 수는 있지만 모든 카테고리에 대해 새 색인을 추가해야합니다. 대신 카테고리를 모델링하는 더 좋은 방법은 내 대답을 살펴보십시오. http://stackoverflow.com/questions/40656589/firebase-query-if-child-of-child-contains-a-value –

+0

이 경고가있는 대형 시스템. 우린 잘하고있어. 그것은 오류가 아닙니다. –

답변

0

나는 또한 firebase를 보냈다는 경고를 받았고 동일한 id를 가진 항목을 찾는 쿼리를 쿼리 필터링했습니다. 경고 메시지 ".indexOn는"당신이 항목을 정렬하려는 그룹에 ".indexOn"를 추가하여 확인하여야한다 데이터베이스에서 규칙을 말한다.

{ 

    "scores": { 

    "bruhathkayosaurus" : 55, 
    "lambeosaurus" : 21, 
    "linhenykus" : 80, 
    "pterodactyl" : 93, 
    "stegosaurus" : 5, 
    "triceratops" : 22 
     } 
} 

공룡의 이름 때문에 그저 열쇠 일 뿐이야. 우리는 우리의 쿼리를 최적화하기 위해 노드/점수에 .value 규칙을 추가 할 수 있습니다 : 당신은 범주로 차량을 넣어 위해 노력하고 https://firebase.google.com/docs/database/security/indexing-data?hl=es-419

관련 문제