반응형
하위 값별 Firebase 검색
Firebase 데이터베이스에 다음과 같은 구조가 있습니다.
이름, 성 또는 이메일로 사용자를 검색하고 싶지만 위 수준의 사용자 키가 없기 때문에 어떻게 해야 할지 모르겠습니다.사용자 키에 액세스할 수 없도록 관리자 세션을 수행하고 있습니다.
시도해 본 결과:
let usersRef = firebase.database().ref('users');
usersRef.orderByValue().on("value", function(snapshot) {
console.log(snapshot.val());
snapshot.forEach(function(data) {
console.log(data.key);
});
});
하지만 데이터베이스의 모든 사용자를 불러옵니다.아이디어 있어요?
사용할 수 있습니다.equalTo()
가치로 아이를 찾을 수 있습니다.당신의 경우는name
:
ref.child('users').orderByChild('name').equalTo('John Doe').on("value", function(snapshot) {
console.log(snapshot.val());
snapshot.forEach(function(data) {
console.log(data.key);
});
});
의 목적orderByChild()
필터링/검색할 필드를 정의합니다. equalTo()
문자열, int 및 부울 값을 가져올 수 있습니다.
자동 생성 키와 함께 사용할 수도 있습니다(pushKey
) 역시.
여기에서 모든 설명서를 찾을 수 있습니다.
사용 시 불쾌한 놀라움을 방지하기 위한 경고orderByChild
그리고.equalTo
데이터에 인덱스를 추가하는 것을 잊지 마십시오(여기에 문서가 있습니다).
그렇게 하지 않으면 모든 노드가 다운로드되고 필터링되어 데이터베이스가 증가하면 매우 비싸질 수 있습니다.
v9 버전은 다음과 같습니다.
import {
getDatabase, ref, query,
orderByChild, get, equalTo,
} from "firebase/database";
const db = getDatabase();
const usersRef = query(ref(db, `users`), ...[orderByChild("name"), equalTo("John Doe")]);
const snapshot = await get(usersRef);
const data = snapshot.val();
언급URL : https://stackoverflow.com/questions/40471284/firebase-search-by-child-value
반응형
'programing' 카테고리의 다른 글
두 날짜 사이의 날짜? (0) | 2023.06.16 |
---|---|
사이드 메뉴 ionic 2를 보려면 스와이프 사용 안 함 (0) | 2023.06.16 |
UICollection 간격 여백 보기 (0) | 2023.06.16 |
Oracle 하위 쿼리에서 외부 블록 2단계 위쪽의 변수를 볼 수 없습니다. (0) | 2023.06.16 |
Python으로 이미지 표시 (0) | 2023.06.16 |