DataSnapshot
데이터베이스 위치의 데이터가 포함되어 있습니다.
데이터베이스에서 데이터를 읽을 때마다 DataSnapshot
으로 데이터를 받습니다. . DataSnapshot
은 on()
또는 once()
사용하여 첨부한 이벤트 콜백에 전달됩니다. . val()
메서드를 호출하여 스냅샷의 내용을 JavaScript 객체로 추출할 수 있습니다. 또는 child()
호출하여 스냅샷을 탐색하여 하위 스냅샷을 반환할 수 있습니다(그런 다음 val()
호출할 수 있음).
DataSnapshot
효율적으로 생성되고 데이터베이스 위치에 있는 데이터의 변경 불가능한 복사본입니다. 이는 수정할 수 없으며 절대 변경되지 않습니다(데이터를 수정하려면 항상 Reference
에서 set()
메서드를 직접 호출합니다).
서명:
export declare class DataSnapshot
속성
재산 | 수정자 | 유형 | 설명 |
---|---|---|---|
열쇠 | 문자열 | 없는 | 이 DataSnapshot 위치의 키(경로의 마지막 부분)입니다. 데이터베이스 위치의 마지막 토큰이 해당 키로 간주됩니다. 예를 들어 "ada"는 /users/ada/ 노드의 키입니다. DataSnapshot 의 키에 액세스하면 이를 생성한 위치에 대한 키가 반환됩니다. 그러나 데이터베이스의 루트 URL에 있는 키에 액세스하면 null 반환됩니다. | |
우선 사항 | 문자열 | 번호 | 없는 | 이 DataSnapshot 에 있는 데이터의 우선순위 값을 가져옵니다. 애플리케이션은 우선순위를 사용할 필요가 없지만 일반 속성을 기준으로 컬렉션을 정렬할 수 있습니다( 데이터 정렬 및 필터링 참조). | |
심판 | 데이터베이스참조 | 이 DataSnapshot의 위치입니다. | |
크기 | 숫자 | 이 DataSnapshot 의 하위 속성 수를 반환합니다. |
행동 양식
방법 | 수정자 | 설명 |
---|---|---|
아이(경로) | 지정된 상대 경로의 위치에 대한 또 다른 DataSnapshot 가져옵니다. DataSnapshot의 child() 메서드에 상대 경로를 전달하면 지정된 상대 경로의 위치에 대한 다른 DataSnapshot 반환됩니다. 상대 경로는 간단한 하위 이름(예: "ada")이거나 슬래시로 구분된 더 깊은 경로(예: "ada/name/first")일 수 있습니다. 하위 위치에 데이터가 없으면 빈 DataSnapshot (즉, 값이 null 인 DataSnapshot )이 반환됩니다. | |
존재합니다() | 이 DataSnapshot 에 데이터가 포함되어 있으면 true를 반환합니다. snapshot.val() !== null 사용하는 것보다 약간 더 효율적입니다. | |
수출발() | DataSnapshot의 전체 콘텐츠를 JavaScript 개체로 내보냅니다. exportVal() 메서드는 우선 순위 정보가 포함되어(사용 가능한 경우) 데이터 백업에 적합하다는 점을 제외하면 val() 과 유사합니다. | |
forEach(작업) | IteratedDataSnapshot 의 최상위 하위 항목을 열거합니다. JavaScript 객체의 작동 방식으로 인해 val() 에서 반환된 JavaScript 객체의 데이터 순서는 서버의 순서나 onChildAdded() 이벤트의 순서와 일치한다고 보장되지 않습니다. 이것이 forEach() 유용한 곳입니다. 이는 DataSnapshot 의 하위 요소가 쿼리 순서대로 반복되도록 보장합니다. 명시적인 orderBy*() 메서드를 사용하지 않으면 결과는 키순으로 반환됩니다(우선순위를 사용하지 않는 한 결과는 우선순위에 따라 반환됩니다). | |
hasChild(경로) | 지정된 하위 경로에 (null이 아닌) 데이터가 있는 경우 true를 반환합니다. | |
hasChildren() | DataSnapshot null 이 아닌 하위 속성이 있는지 여부를 반환합니다. hasChildren() 사용하여 DataSnapshot 하위 항목이 있는지 확인할 수 있습니다. 그렇다면 forEach() 를 사용하여 열거할 수 있습니다. 그렇지 않은 경우 이 스냅샷에는 기본 값( val() 사용하여 검색할 수 있음)이 포함되어 있거나 비어 있습니다(이 경우 val() null 반환함). | |
toJSON() | 이 객체의 JSON 직렬화 가능 표현을 반환합니다. | |
발() | DataSnapshot 에서 JavaScript 값을 추출합니다. DataSnapshot 의 데이터에 따라 val() 메서드는 스칼라 유형(문자열, 숫자 또는 부울), 배열 또는 객체를 반환할 수 있습니다. 또한 DataSnapshot 이 비어 있음(데이터가 없음)을 나타내는 null을 반환할 수도 있습니다. |
DataSnapshot.키
이 DataSnapshot
위치의 키(경로의 마지막 부분) .
데이터베이스 위치의 마지막 토큰이 해당 키로 간주됩니다. 예를 들어 "ada"는 /users/ada/ 노드의 키입니다. DataSnapshot
의 키에 액세스하면 이를 생성한 위치에 대한 키가 반환됩니다. 그러나 데이터베이스의 루트 URL에 있는 키에 액세스하면 null
반환됩니다. .
서명:
get key(): string | null;
DataSnapshot.우선순위
이 DataSnapshot
에 있는 데이터의 우선순위 값을 가져옵니다. .
애플리케이션은 우선순위를 사용할 필요가 없지만 일반 속성을 기준으로 컬렉션을 정렬할 수 있습니다( 데이터 정렬 및 필터링 참조).
서명:
get priority(): string | number | null;
데이터스냅샷.ref
이 DataSnapshot의 위치입니다.
서명:
readonly ref: DatabaseReference;
DataSnapshot.size
이 DataSnapshot
의 하위 속성 수를 반환합니다. .
서명:
get size(): number;
DataSnapshot.child()
지정된 상대 경로의 위치에 대한 또 다른 DataSnapshot
가져옵니다.
DataSnapshot의 child()
메서드에 상대 경로를 전달하면 지정된 상대 경로의 위치에 대한 다른 DataSnapshot
반환됩니다. 상대 경로는 간단한 하위 이름(예: "ada")이거나 슬래시로 구분된 더 깊은 경로(예: "ada/name/first")일 수 있습니다. 하위 위치에 데이터가 없으면 빈 DataSnapshot
(즉, 값이 null
인 DataSnapshot
)이 반환됩니다.
서명:
child(path: string): DataSnapshot;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
길 | 끈 | 하위 데이터 위치에 대한 상대 경로입니다. |
보고:
데이터스냅샷.존재()
이 DataSnapshot
에 데이터가 포함되어 있으면 true를 반환합니다. snapshot.val() !== null
사용하는 것보다 약간 더 효율적입니다. .
서명:
exists(): boolean;
보고:
부울
DataSnapshot.exportVal()
DataSnapshot의 전체 콘텐츠를 JavaScript 개체로 내보냅니다.
exportVal()
메소드는 val()
과 유사합니다. 단, 우선순위 정보가 포함되어(사용 가능한 경우) 데이터 백업에 적합합니다.
서명:
exportVal(): any;
보고:
어느
DataSnapshot의 내용은 JavaScript 값(객체, 배열, 문자열, 숫자, 부울 또는 null
입니다. ).
DataSnapshot.forEach()
IteratedDataSnapshot
의 최상위 하위 항목을 열거합니다. .
JavaScript 객체의 작동 방식으로 인해 val()
에서 반환된 JavaScript 객체의 데이터 순서는 서버의 순서나 onChildAdded()
이벤트의 순서와 일치한다고 보장되지 않습니다. 이것이 forEach()
유용한 곳입니다. 이는 DataSnapshot
의 하위 요소가 쿼리 순서대로 반복되도록 보장합니다.
명시적인 orderBy*()
메서드를 사용하지 않으면 결과는 키순으로 반환됩니다(우선순위를 사용하지 않는 한 결과는 우선순위에 따라 반환됩니다).
서명:
forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
행동 | (하위: IteratedDataSnapshot ) => 부울 | 무효의 | 각 하위 DataSnapshot에 대해 호출되는 함수입니다. 콜백은 true를 반환하여 추가 열거를 취소할 수 있습니다. |
보고:
부울
콜백이 true를 반환하여 열거가 취소된 경우 true입니다.
DataSnapshot.hasChild()
지정된 하위 경로에 (null이 아닌) 데이터가 있는 경우 true를 반환합니다.
서명:
hasChild(path: string): boolean;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
길 | 끈 | 잠재적인 자녀의 위치에 대한 상대 경로입니다. |
보고:
부울
지정된 하위 경로에 데이터가 있으면 true
이고, 그렇지 않으면 false입니다. 그렇지 않으면 false
.
DataSnapshot.hasChildren()
DataSnapshot
null
이 아닌 하위 속성이 있는지 여부를 반환합니다.
hasChildren()
사용하여 DataSnapshot
하위 항목이 있는지 확인할 수 있습니다. 그렇다면 forEach()
를 사용하여 열거할 수 있습니다. . 그렇지 않은 경우 이 스냅샷에는 기본 값( val()
을 사용하여 검색할 수 있음)이 포함되어 있습니다. ) 또는 비어 있습니다(이 경우 val()
null
반환합니다) ).
서명:
hasChildren(): boolean;
보고:
부울
이 스냅샷에 자식이 있으면 true이고, 그렇지 않으면 false입니다. 그렇지 않으면 거짓입니다.
DataSnapshot.toJSON()
이 객체의 JSON 직렬화 가능 표현을 반환합니다.
서명:
toJSON(): object | null;
보고:
개체 | 없는
데이터스냅샷.val()
DataSnapshot
에서 JavaScript 값을 추출합니다. .
DataSnapshot
의 데이터에 따라 , val()
메서드는 스칼라 유형(문자열, 숫자 또는 부울), 배열 또는 객체를 반환할 수 있습니다. 또한 DataSnapshot
이 비어 있음(데이터가 없음)을 나타내는 null을 반환할 수도 있습니다.
서명:
val(): any;
보고:
어느
DataSnapshot의 내용은 JavaScript 값(객체, 배열, 문자열, 숫자, 부울 또는 null
입니다. ).