2016-08-27 4 views
1

나는이 같은 구조있어 데이터베이스가 :왜 데이터 쓰기가 검증되지 않습니까?

나는 사용자가 그들의 각 하나가 숫자가 자신의 x, y 및 z 데이터를 업데이트하고 때 그들은 모두에 걸 것을 유효성을 검사 할
flairs 
    |_____User1 
    |  |__x: 1 
    |  |__y: 1 
    |  |__z: 1 
    | 
    |_____User2 
      |__x: 1 
      |__y: 1 
      |__z: 1 

특정 범위.

"flairs": { 
     "$user": { 
     ".write": "auth != null", 
     ".validate": "newData.hasChildren(['x','y','z']) && 
         newData.child('x').isNumber() && 
         newData.child('x').val() > -2 && 
         newData.child('x').val() < 11 && 
         newData.child('y').isNumber() && 
         newData.child('y').val() > -2 && 
         newData.child('y').val() < 8 && 
         newData.child('z').isNumber() && 
         newData.child('z').val() > 0 && 
         newData.child('z').val() < 4" 
     } 
    } 

은 기본적으로 내가 새로운 데이터가 x, y, z 아이가 그들이 특정 범위의 모든 정수를 걸 확인 : 나는 다음과 같은 규칙을 썼다. 내가 flairs/User1에서 다음 데이터를 기록 할 때 그러나, 나는 쓰기는 사용자가 인증 된 경우에도 거부 얻을 :

{ 
    "User1": {"x":1,"y":2,"z":1} 
} 

사람이 내가 잘못 일을 할 수있는 무엇을 알고 있나요? sim

답변

2

당신은 경로 /flairs/User1에 작성하는 당신이 쓰고있어 :

{ 
    "User1": {"x":1,"y":2,"z":1} 
} 

그래서 최종 결과가 /flairs/User1/Users/x 것 등에 따라 유효하지 않습니다 여기 내 시뮬레이터의 사진입니다 너의 규칙들.

{"x":1,"y":2,"z":1} 
+0

을 평소처럼 프랭크 ... 구조에 대한 응답에 대한 감사와 지역 사회에서 매우 활동적인 온다 :

당신은 기록 할 수 있습니다. – MarksCode

관련 문제