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