쓰기 일괄 처리는 여러 쓰기를 단일 원자 단위로 수행하는 데 사용됩니다.
WriteBatch
객체는 writeBatch()를 호출하여 가져올 수 있습니다. 쓰기 배치에 쓰기를 추가하는 메서드를 제공합니다. WriteBatch.commit()이 호출될 때까지 어떠한 쓰기도 커밋되거나 로컬에 표시되지 않습니다.
서명:
export declare class WriteBatch
메소드
메서드 | 특수키 | 설명 |
---|---|---|
commit() | 이 쓰기 배치의 모든 쓰기를 단일 원자 단위로 커밋합니다.이러한 쓰기 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 쓰기가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요. | |
delete(documentRef) | 제공된 DocumentReference에서 참조하는 문서를 삭제합니다. | |
set(documentRef, data) | 제공된 DocumentReference로 참조되는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다. | |
set(documentRef, 데이터, 옵션) | 제공된 DocumentReference로 참조되는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다. merge 또는 mergeFields 를 제공하면 제공된 데이터를 기존 문서에 병합할 수 있습니다. |
|
update(documentRef, data)는 | 제공된 DocumentReference로 참조되는 문서의 필드를 업데이트합니다. 존재하지 않는 문서를 적용하면 업데이트가 실패합니다. | |
update(documentRef, field, value, moreFieldsAndValues) | 이 DocumentReference에서 참조하는 문서의 필드를 업데이트합니다. 존재하지 않는 문서를 적용하면 업데이트가 실패합니다.중첩된 필드는 점으로 구분된 필드 경로 문자열을 제공하거나 FieldPath 객체를 제공하여 업데이트할 수 있습니다. |
WriteBatch.commit()
이 쓰기 배치의 모든 쓰기를 단일 원자 단위로 커밋합니다.
이러한 쓰기 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 쓰기가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.
서명:
commit(): Promise<void>;
반환:
프로미스<void>
배치의 모든 쓰기가 원자 단위로 백엔드에 성공적으로 기록되면 Promise
이 확인됩니다 (오프라인 상태에서는 확인되지 않음).
WriteBatch.delete()
제공된 DocumentReference에서 참조하는 문서를 삭제합니다.
서명:
delete<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>): WriteBatch;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
문서 참조 | DocumentReference<AppModelType, DBMModelType> | 삭제할 문서에 대한 참조입니다. |
반환:
이 WriteBatch
인스턴스 메서드 호출 체이닝에 사용됩니다.
WriteBatch.set()
제공된 DocumentReference로 참조되는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다.
서명:
set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): WriteBatch;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
문서 참조 | DocumentReference<AppModelType, DBMModelType> | 설정할 문서에 대한 참조입니다. |
데이터 | WithFieldValue<AppModelType> | 문서의 필드 및 값의 객체입니다. |
반환:
이 WriteBatch
인스턴스 메서드 호출 체이닝에 사용됩니다.
WriteBatch.set()
제공된 DocumentReference로 참조되는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다. merge
또는 mergeFields
를 제공하면 제공된 데이터를 기존 문서에 병합할 수 있습니다.
서명:
set<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): WriteBatch;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
문서 참조 | DocumentReference<AppModelType, DBMModelType> | 설정할 문서에 대한 참조입니다. |
데이터 | PartialWithFieldValue<AppModelType> | 문서의 필드 및 값의 객체입니다. |
옵션 | SetOptions | 집합 동작을 구성하는 객체입니다. |
반환:
이 WriteBatch
인스턴스 메서드 호출 체이닝에 사용됩니다.
예외
오류 - 제공된 입력이 유효한 Firestore 문서가 아닌 경우
WriteBatch.update()
제공된 DocumentReference로 참조되는 문서의 필드를 업데이트합니다. 존재하지 않는 문서를 적용하면 업데이트가 실패합니다.
서명:
update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): WriteBatch;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
문서 참조 | DocumentReference<AppModelType, DBMModelType> | 업데이트할 문서에 대한 참조입니다. |
데이터 | UpdateData<DbModelType> | 문서를 업데이트할 필드와 값이 포함된 객체입니다. 필드에는 문서 내의 중첩된 필드를 참조하는 점이 포함될 수 있습니다. |
반환:
이 WriteBatch
인스턴스 메서드 호출 체이닝에 사용됩니다.
예외
오류 - 제공된 입력이 유효한 Firestore 데이터가 아닌 경우
WriteBatch.update()
이 DocumentReference에서 참조하는 문서의 필드를 업데이트합니다. 존재하지 않는 문서를 적용하면 업데이트가 실패합니다.
중첩된 필드는 점으로 구분된 필드 경로 문자열을 제공하거나 FieldPath
객체를 제공하여 업데이트할 수 있습니다.
서명:
update<AppModelType, DbModelType extends DocumentData>(documentRef: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): WriteBatch;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
문서 참조 | DocumentReference<AppModelType, DBMModelType> | 업데이트할 문서에 대한 참조입니다. |
필드 | 문자열 | FieldPath | 업데이트할 첫 번째 필드입니다. |
값 | 알 수 없음 | 첫 번째 값입니다. |
moreFieldsAndValues | 알 수 없음[] | 추가 키-값 쌍입니다. |
반환:
이 WriteBatch
인스턴스 메서드 호출 체이닝에 사용됩니다.
예외
오류 - 제공된 입력이 유효한 Firestore 데이터가 아닌 경우