DataSnapshot class

DataSnapshot 데이터베이스 위치의 데이터가 포함되어 있습니다.

데이터베이스에서 데이터를 읽을 때마다 DataSnapshot 으로 데이터를 받습니다. . DataSnapshoton() 또는 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 (즉, 값이 nullDataSnapshot )이 반환됩니다.
존재합니다()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 (즉, 값이 nullDataSnapshot )이 반환됩니다.

서명:

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 입니다. ).