"error": "Index not defined, add.indexOn"
Firebase에 다음과 같은 데이터베이스를 만들었습니다.
이제 REST 클라이언트로 이동하여 다음 쿼리를 발행합니다.
https://movielens3.firebaseio.com/movieLens/users.json?orderBy="age"&startAt=25&print=pretty
오류가 발생합니다.
"error": "Index not defined, add ".indexOn": "age", for path "/movieLens/users", to the rules"
규칙 섹션에서 다음 규칙을 정의합니다.
{
"rules": {
"users" : {
".indexOn": ["age", "gender", "occupation", "zipCode"]
},
".read": true,
".write": true
}
}
하지만 여전히 같은 오류가 발생합니다.
다음에 대한 인덱스를 정의하고 있습니다./users
하위 노드가 없습니다.users
트리의 루트 바로 아래에 있기 때문에 인덱스가 비어 있습니다.
문의하신 이후/movieLens/users
바로 여기서 인덱스를 정의해야 합니다.
{
"rules": {
"movieLens": {
"users" : {
".indexOn": ["age", "gender", "occupation", "zipCode"]
},
".read": true,
".write": true
}
}
}
댓글에 있는 문제 업데이트:
사용자의 연령을 문자열로 저장하고 있으므로 숫자로 필터링할 수 없습니다.해결책은 데이터를 수정하고 숫자로 저장하는 것입니다.
하지만 그 동안 이 쿼리는 어느 정도 효과가 있습니다.
https://movielens3.firebaseio.com/movieLens/users.json?orderBy="age"&equalTo="35"
JavaScript에서:
ref
.orderByChild('age')
.startAt('35')
.limitToFirst(3)
.once('value', function(s) {
console.log(JSON.stringify(s.val(), null, ' '));
}, function(error) {
if(error) console.error(error);
})
"어느 정도"는 숫자가 아닌 어휘적 정렬을 한다는 것입니다.실제 솔루션을 위한 데이터를 수정합니다.
데이터를 배열로 저장하여 데이터를 구성하는 Firebase 지침도 무시합니다.이것은 이미 REST API에서 나에게 문제를 일으키고 있었고, 그래서 나는 그것을 떨어뜨렸습니다.print=pretty
JavaScript 개발자를 위한 Firebase 프로그래밍 가이드를 처음부터 끝까지 읽고 거기에 있는 조언을 따르는 것을 강력히 추천합니다.이제 몇 시간이면 문제가 발생하는 것을 막을 수 있습니다.
언급URL : https://stackoverflow.com/questions/34968413/error-index-not-defined-add-indexon
'programing' 카테고리의 다른 글
사용자 정의 함수가 재계산되지 않음 (0) | 2023.06.24 |
---|---|
다른 사람이 먼저 제기할 때의 예외가 무슨 효과가 있습니까? (0) | 2023.06.24 |
권장되지 않음 경고: executable_path가 권장되지 않는 셀레늄 파이썬입니다. (0) | 2023.06.24 |
intellij 스프링 부트 대시보드 사용 안 함 (0) | 2023.06.24 |
스프링 AOP 방법 값 변경 인수 주변 조언 (0) | 2023.06.24 |