@firebase/firestore/lite

함수

함수 설명
function(앱, ...)
getFirestore(앱) 제공된 FirebaseApp과 연결된 기존의 기본 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.
getFirestore(app, databaseId) (베타) 제공된 FirebaseApp과 연결된 기존 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.
초기화(앱, 설정) 제공된 설정으로 Cloud Firestore의 새 인스턴스를 초기화합니다. getFirestore()를 포함한 다른 함수보다 먼저 호출할 수 있습니다. 커스텀 설정이 비어 있으면 이 함수는 getFirestore()를 호출하는 것과 같습니다.
initialFirestore(app, settings, databaseId) (베타) 제공된 설정으로 Cloud Firestore의 새 인스턴스를 초기화합니다. getFirestore()를 포함한 다른 함수보다 먼저 호출할 수 있습니다. 커스텀 설정이 비어 있으면 이 함수는 getFirestore()를 호출하는 것과 같습니다.
function(firestore, ...)
collection(firestore, path, pathSegments) 지정된 절대 경로에 있는 컬렉션을 참조하는 CollectionReference 인스턴스를 가져옵니다.
collectionGroup(firestore, collectionId) 지정된 collectionId를 사용하여 컬렉션 또는 하위 컬렉션에 포함된 데이터베이스의 모든 문서가 포함된 새 Query 인스턴스를 만들고 반환합니다.
connectFirestoreEmulator(firestore, host, port, options) Cloud Firestore 에뮬레이터와 통신하도록 이 인스턴스를 수정하세요.참고: 이 인스턴스는 작업을 실행하는 데 사용하기 전에 호출해야 합니다.
doc(firestore, path, pathSegments) 지정된 절대 경로에 있는 문서를 참조하는 DocumentReference 인스턴스를 가져옵니다.
runTransaction(firestore, updateFunction, options) 지정된 updateFunction를 실행한 다음 트랜잭션 내에 적용된 변경사항을 커밋하려고 시도합니다. 트랜잭션 내에서 읽은 문서가 변경되면 Cloud Firestore에서 updateFunction를 다시 시도합니다. 5회 시도 후에도 커밋에 실패하면 트랜잭션이 실패합니다.단일 트랜잭션에서 허용되는 최대 쓰기 수는 500회입니다.
terminate(firestore) 제공된 Firestore 인스턴스를 종료합니다.terminate()를 호출한 후에는 clearIndexedDbPersistence() 함수만 사용할 수 있습니다. 다른 모든 함수는 FirestoreError을 발생시킵니다. 종료해도 대기 중인 쓰기가 취소되지 않으며 서버의 응답을 대기 중인 프로미스는 확인되지 않습니다.종료 후 다시 시작하려면 getFirestore()를 사용하여 Firestore의 새 인스턴스를 만듭니다.참고: 일반적인 상황에서는 terminate()를 호출할 필요가 없습니다. 이 함수는 인스턴스에서 강제로 모든 리소스를 해제하거나 clearIndexedDbPersistence()와 함께 사용하여 테스트 실행 사이에 모든 로컬 상태가 삭제되도록 하려는 경우에만 유용합니다.
writeBatch(firestore) 단일 원자적 작업으로 여러 쓰기를 수행하는 데 사용되는 쓰기 배치를 만듭니다. 단일 WriteBatch에 허용되는 최대 쓰기 수는 500개입니다.이러한 쓰기 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 쓰기가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.
함수()
count() 쿼리의 결과 집합에서 문서 수를 계산하는 데 사용할 수 있는 AggregateField 객체를 만듭니다.
deleteField() {merge: true}와 함께 updateDoc() 또는 setDoc()와 함께 사용할 센티널을 반환하여 필드를 삭제하도록 표시합니다.
documentId()를 사용해야 합니다. 문서의 ID를 참조하는 특수 센티널 FieldPath를 반환합니다. 쿼리에서 문서 ID를 기준으로 정렬하거나 필터링하는 데 사용할 수 있습니다.
getFirestore()를 사용합니다. 기본 FirebaseApp에 연결된 기존의 기본 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.
serverTimestamp()에 대해 자세히 알아보세요. 작성된 데이터에 서버 생성 타임스탬프를 포함하기 위해 setDoc() 또는 updateDoc()와 함께 사용되는 센티널을 반환합니다.
함수(데이터베이스 ID, ...)
getFirestore(databaseId) (베타) 기본 FirebaseApp에 연결된 기존 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.
function(elements, ...)
arrayRemove(elements) setDoc()와 함께 사용할 수 있거나 서버에 이미 존재하는 배열 값에서 지정된 요소를 삭제하도록 서버에 지시하는 특수한 값을 반환합니다. 지정된 각 요소의 모든 인스턴스가 배열에서 삭제됩니다. 수정 중인 필드가 아직 배열이 아닌 경우 빈 배열로 덮어쓰기됩니다.
arrayUnion(요소) 지정된 요소를 서버에 이미 있는 배열 값과 통합하도록 서버에 지시하는 setDoc() 또는 updateDoc()와 함께 사용할 수 있는 특수한 값을 반환합니다. 지정된 배열에 없는 지정된 각 요소는 끝에 추가됩니다. 수정 중인 필드가 배열이 아닌 경우, 지정된 요소를 정확히 포함하는 배열로 필드를 덮어씁니다.
function(field, ...)
average(필드) 쿼리의 결과 집합에서 문서 범위에 대한 지정된 필드의 평균을 계산하는 데 사용할 수 있는 AggregateField 객체를 만듭니다.
sum(필드) 쿼리 결과 집합에서 문서 범위에 대한 지정된 필드의 합계를 계산하는 데 사용할 수 있는 AggregateField 객체를 만듭니다.
function(fieldPath, ...)
orderBy(fieldPath, directionsStr) 지정된 필드를 기준으로 쿼리 결과를 오름차순 대신 내림차순으로 정렬하는 QueryOrderByConstraint를 만듭니다.참고: 지정된 필드가 포함되지 않은 문서는 쿼리 결과에 표시되지 않습니다.
where(fieldPath, opStr, value) 문서에 지정된 필드가 포함되어야 하고 값이 제공된 관계 제약 조건을 충족해야 하도록 적용하는 QueryFieldFilterConstraint를 만듭니다.
function(fieldValues, ...)
endAt(fieldValues) 쿼리 순서에 따라 제공된 필드에서 끝나도록 결과 집합을 수정하는 QueryEndAtConstraint를 만듭니다. 필드 값의 순서는 쿼리의 절 기준 순서와 일치해야 합니다.
endBefore(fieldValues) 쿼리 순서를 기준으로 제공된 필드보다 먼저 종료되도록 결과 집합을 수정하는 QueryEndAtConstraint를 만듭니다. 필드 값의 순서는 쿼리의 절 기준 순서와 일치해야 합니다.
startAfter(fieldValues) 쿼리 순서를 기준으로 제공된 필드 다음에 시작되도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 필드 값의 순서는 쿼리의 절 기준 순서와 일치해야 합니다.
startAt(fieldValues) 쿼리 순서에 따라 제공된 필드에서 시작되도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 필드 값의 순서는 쿼리의 절 기준 순서와 일치해야 합니다.
함수(왼쪽, ...)
aggregateFieldEqual(왼쪽, 오른쪽) 두 'AggregateField' 인스턴스가 같은지 비교합니다.
aggregateQuerySnapshotEqual(왼쪽, 오른쪽) AggregateQuerySnapshot 인스턴스가 같은지 비교합니다.AggregateQuerySnapshot 인스턴스 두 개는 '동일'한 것으로 간주됩니다. 는 동일한 데이터를 비교하는 기본 쿼리가 있는 경우에 한합니다.
queryEqual(왼쪽, 오른쪽) 제공된 쿼리가 동일한 컬렉션을 가리키고 동일한 제약조건을 적용하면 true를 반환합니다.
refEqual(왼쪽, 오른쪽) 제공된 참조가 같으면 true를 반환합니다.
snapshotEqual(왼쪽, 오른쪽) 제공된 스냅샷이 동일한 경우 true를 반환합니다.
function(limit, ...)
limit(limit) 일치하는 첫 번째 문서만 반환하는 QueryLimitConstraint를 만듭니다.
limitToLast(limit)를 사용하세요. 마지막으로 일치하는 문서만 반환하는 QueryLimitConstraint를 만듭니다.limitToLast 쿼리에 orderBy 절을 하나 이상 지정해야 합니다. 그렇지 않으면 실행 중에 예외가 발생합니다.
function(logLevel, ...)
setLogLevel(logLevel) Cloud Firestore 로그의 세부정보 수준 (디버그, 오류, 자동)을 설정합니다.
함수(n, ...)
증분(n) 필드의 현재 값을 지정된 값만큼 증가시키도록 서버에 지시하는 setDoc() 또는 updateDoc()와 함께 사용할 수 있는 특수 값을 반환합니다.피연산자 또는 현재 필드 값에 부동 소수점 정밀도가 사용되는 경우 모든 산술은 IEEE 754 의미 체계를 따릅니다. 두 값이 모두 정수인 경우 JavaScript의 안전한 숫자 범위 (Number.MIN_SAFE_INTEGER~Number.MAX_SAFE_INTEGER)를 벗어나는 값도 정밀도가 손실될 수 있습니다. 또한 Firestore 백엔드에서 처리되면 모든 정수 작업이 -2^63~2^63-1로 제한됩니다.현재 필드 값이 number 유형이 아니거나 필드가 아직 없는 경우 변환은 필드를 지정된 값으로 설정합니다.
function(query, ...)
getAggregate(query, aggregateSpec) 실제로 문서를 다운로드하지 않고 지정된 쿼리의 결과 집합에서 문서에 대해 지정된 집계를 계산합니다.이 함수를 사용하여 집계를 수행하면 효율적입니다. 문서의 다운로드되기 때문입니다. 이 함수는 결과 집합이 너무 커서 전부 다운로드할 수 없는 경우 (수천 개의 문서) 문서의 집계를 수행할 수 있습니다.
getCount(쿼리) 문서를 실제로 다운로드하지 않고 지정된 쿼리의 결과 집합에서 문서 수를 계산합니다.이 함수를 사용하여 문서를 계산하는 것이 효율적입니다. 문서가 아닌 최종 개수만 계산되기 때문입니다. 데이터가 다운로드됩니다. 이 함수는 결과 집합이 너무 커서 완전히 다운로드할 수 없는 경우 (수천 개의 문서) 문서 수를 계산할 수 있습니다.
getDocs(쿼리) 쿼리를 실행하고 결과를 QuerySnapshot으로 반환합니다.모든 쿼리는 이전에 쿼리가 실행되었더라도 서버에 의해 직접 실행됩니다. 최근 수정사항은 백엔드에서 이미 적용한 경우에만 검색된 결과에 반영됩니다. 클라이언트가 오프라인 상태인 경우 작업이 실패합니다. 이전에 캐시된 결과 및 로컬 수정사항을 보려면 전체 Firestore SDK를 사용하세요.
query(query, compositeFilter, queryConstraints) 추가 쿼리 제약조건도 포함하도록 확장된 Query의 변경 불가능한 새 인스턴스를 만듭니다.
query(query, queryConstraints) 추가 쿼리 제약조건도 포함하도록 확장된 Query의 변경 불가능한 새 인스턴스를 만듭니다.
function(queryConstraints, ...)
and(queryConstraints) 지정된 필터 제약조건과 결합된 새 QueryCompositeFilterConstraint를 만듭니다. 접속사 필터는 지정된 필터를 모두 만족하는 문서를 포함합니다.
or(queryConstraints) 지정된 필터 제약 조건을 분리한 새 QueryCompositeFilterConstraint를 생성합니다. 분리 필터에는 지정된 필터 중 하나를 충족하는 문서가 포함됩니다.
function(reference, ...)
addDoc(참조, 데이터) 지정된 데이터로 지정된 CollectionReference에 새 문서를 추가하여 문서 ID를 자동으로 할당합니다.쓰기 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 쓰기가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.
collection(reference, path, pathSegments) 지정된 상대 경로에 있는 reference의 하위 컬렉션을 참조하는 CollectionReference 인스턴스를 가져옵니다.
collection(reference, path, pathSegments) 지정된 상대 경로에 있는 reference의 하위 컬렉션을 참조하는 CollectionReference 인스턴스를 가져옵니다.
deleteDoc(참조) 지정된 DocumentReference에서 참조하는 문서를 삭제합니다.삭제된 프로미스가 확인된 후에 발생하는 문서 읽기에만 삭제가 반영됩니다. 클라이언트가 오프라인 상태인 경우 삭제가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.
doc(참조, path, pathSegments) 지정된 상대 경로에 있는 reference 내의 문서를 참조하는 DocumentReference 인스턴스를 가져옵니다. 경로를 지정하지 않으면 자동으로 생성된 고유 ID가 반환된 DocumentReference에 사용됩니다.
doc(참조, path, pathSegments) 지정된 상대 경로에 있는 reference 내의 문서를 참조하는 DocumentReference 인스턴스를 가져옵니다.
getDoc(참조) 지정된 문서 참조에서 참조한 문서를 읽습니다.이전에 문서를 읽거나 수정한 경우에도 모든 문서를 서버에서 직접 가져옵니다. 최근 수정사항은 백엔드에서 이미 적용한 경우에만 검색된 DocumentSnapshot에 반영됩니다. 클라이언트가 오프라인 상태이면 읽기가 실패합니다. 캐싱을 사용하거나 로컬 수정을 보려면 전체 Firestore SDK를 사용하세요.
setDoc(참조, 데이터) 지정된 DocumentReference에서 참조하는 문서에 씁니다. 문서가 아직 없는 경우 생성됩니다.이 쓰기 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 쓰기가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.
setDoc(reference, data, options) 지정된 DocumentReference에서 참조하는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다. merge 또는 mergeFields를 제공하면 제공된 데이터를 기존 문서에 병합할 수 있습니다.이 쓰기 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 쓰기가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.
updateDoc(참조, 데이터) 지정된 DocumentReference로 참조되는 문서의 필드를 업데이트합니다. 존재하지 않는 문서에 적용하면 업데이트가 실패합니다.이 업데이트의 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 업데이트가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.
updateDoc(reference, field, value, moreFieldsAndValues) 지정된 DocumentReference에서 참조하는 문서의 필드를 업데이트합니다. 존재하지 않는 문서에 적용되는 경우 업데이트가 실패합니다.중첩된 필드는 점으로 구분된 필드 경로 문자열을 제공하거나 FieldPath 객체를 제공하여 업데이트할 수 있습니다.이 업데이트 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 업데이트가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.
함수(스냅샷, ...)
endAt(스냅샷) 결과 집합을 제공된 문서 (포함)에서 끝나도록 수정하는 QueryEndAtConstraint를 만듭니다. 종료 위치는 쿼리의 순서를 기준으로 합니다. 문서의 orderBy에 제공된 모든 필드가 문서에 포함되어야 합니다.
endBefore(스냅샷) 제공된 문서보다 먼저 끝나도록 결과 집합을 수정하는 QueryEndAtConstraint를 만듭니다. 종료 위치는 쿼리의 순서를 기준으로 합니다. 문서의 orderBy에 제공된 모든 필드가 문서에 포함되어야 합니다.
startAfter(snapshot) 제공된 문서 (제외) 이후에 시작하도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 시작 위치는 쿼리의 순서를 기준으로 합니다. 문서의 orderBy에 제공된 모든 필드가 문서에 포함되어야 합니다.
startAt(스냅샷) 제공된 문서 (포함)에서 시작하도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 시작 위치는 쿼리의 순서를 기준으로 합니다. 문서는 이 쿼리의 orderBy에 제공된 모든 필드를 포함해야 합니다.

클래스

클래스 설명
AggregateField Firestore에서 수행할 수 있는 집계를 나타냅니다.
AggregateQuerySnapshot 집계 쿼리 실행 결과
바이트 바이트 배열을 나타내는 변경 불가능한 객체입니다.
CollectionReference CollectionReference 객체는 문서를 추가하고, 문서 참조를 가져오며, 문서를 쿼리 (query() 사용)하는 데 사용할 수 있습니다.
DocumentReference DocumentReference는 Firestore 데이터베이스의 문서 위치를 의미하며 위치를 쓰거나 읽거나 리슨하는 데 사용할 수 있습니다. 참조된 위치에 문서가 있을 수도 있고 없을 수도 있습니다.
DocumentSnapshot DocumentSnapshot에는 Firestore 데이터베이스의 문서에서 읽은 데이터가 포함됩니다. .data() 또는 .get(<field>)로 데이터를 추출하여 특정 필드를 가져올 수 있습니다.존재하지 않는 문서를 가리키는 DocumentSnapshot의 경우 데이터 액세스 시 '정의되지 않음'이 반환됩니다. exists() 메서드를 사용하여 문서가 있는지 명시적으로 확인할 수 있습니다.
FieldPath FieldPath는 문서의 필드를 나타냅니다. 경로는 단일 필드 이름 (문서의 최상위 필드 참조) 또는 필드 이름 목록 (문서의 중첩 필드 참조)으로 구성될 수 있습니다.필드 이름을 제공하여 FieldPath를 만듭니다. 필드 이름을 두 개 이상 입력하면 경로가 문서의 중첩된 필드를 가리킵니다.
필드 값 set() 또는 update()로 문서 필드를 작성할 때 사용할 수 있는 Sentinel 값입니다.
Firestore Cloud Firestore 서비스 인터페이스입니다.이 생성자를 직접 호출하지 마세요. 대신 getFirestore()를 사용하세요.
FirestoreError Firestore 작업에서 반환된 오류입니다.
GeoPoint Firestore의 지리적 위치를 나타내는 변경 불가능한 객체입니다. 위치는 위도/경도 쌍으로 표시됩니다.위도 값의 범위는 [-90, 90]입니다. 경도 값의 범위는 [-180, 180]입니다.
쿼리 Query는 읽거나 리슨할 수 있는 쿼리를 나타냅니다. 필터를 추가하고 순서를 지정하여 세분화된 Query 객체를 구성할 수도 있습니다.
QueryCompositeFilterConstraint QueryCompositeFilterConstraint는 여러 QueryFieldFilterConstraint 또는 QueryCompositeFilterConstraint의 논리적 OR 또는 AND를 수행하여 Firestore 쿼리에서 반환하는 문서 집합의 범위를 좁히는 데 사용됩니다. QueryCompositeFilterConstraintor() 또는 and()를 호출하여 만든 다음 query()에 전달되어 QueryCompositeFilterConstraint도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다.
쿼리 제약 조건 QueryConstraint은 Firestore 쿼리에서 반환하는 문서 집합의 범위를 좁히는 데 사용됩니다. QueryConstraintwhere(), orderBy(), startAt(), startAfter(), endBefore(), endAt(), limit(), limitToLast()를 호출하여 생성되며 QueryConstraintlimitToLast()를 포함하는 새 쿼리도 만들어 QueryConstraintquery()에 전달할 수 있습니다.
QueryDocumentSnapshot QueryDocumentSnapshot에는 Firestore 데이터베이스의 문서에서 읽은 데이터가 쿼리의 일부로 포함됩니다. 문서는 확실히 존재하며 .data() 또는 .get(<field>)를 사용하여 데이터를 추출하여 특정 필드를 가져올 수 있습니다.QueryDocumentSnapshotDocumentSnapshot와 동일한 API 노출 영역을 제공합니다. 쿼리 결과에는 기존 문서만 포함되므로 exists 속성은 항상 true이고 data()는 'undefined'를 반환하지 않습니다.
QueryEndAtConstraint를 사용해야 합니다. QueryEndAtConstraint는 Firestore 쿼리에서 반환된 결과 집합의 끝에서 문서를 제외하는 데 사용됩니다. QueryEndAtConstraintendAt() 또는 endBefore()를 호출하여 생성되며, 그런 다음 query()에 전달하여 이 QueryEndAtConstraint도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다.
QueryFieldFilterConstraint QueryFieldFilterConstraint는 하나 이상의 문서 필드를 필터링하여 Firestore 쿼리에서 반환되는 문서 집합의 범위를 좁히는 데 사용됩니다. QueryFieldFilterConstraintwhere()를 호출하여 만든 다음 query()에 전달되어 이 QueryFieldFilterConstraint도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다.
QueryLimitConstraint QueryLimitConstraint는 Firestore 쿼리에서 반환하는 문서 수를 제한하는 데 사용됩니다. QueryLimitConstraintlimit() 또는 limitToLast()를 호출하여 생성되며, 그런 다음 query()에 전달하여 이 QueryLimitConstraint도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다.
QueryOrderByConstraint QueryOrderByConstraint는 Firestore 쿼리에서 반환된 문서 집합을 정렬하는 데 사용됩니다. QueryOrderByConstraintorderBy()를 호출하여 생성되며 query()에 전달하여 이 QueryOrderByConstraint도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다.참고: orderBy 필드가 포함되지 않은 문서는 쿼리 결과에 표시되지 않습니다.
QuerySnapshot QuerySnapshot에는 쿼리 결과를 나타내는 DocumentSnapshot 객체가 0개 이상 포함됩니다. 문서는 docs 속성을 통해 배열로 액세스하거나 forEach 메서드를 사용하여 열거할 수 있습니다. 문서 수는 emptysize 속성을 통해 결정할 수 있습니다.
QueryStartAtConstraint QueryStartAtConstraint은 Firestore 쿼리에서 반환된 결과 집합의 시작 부분에서 문서를 제외하는 데 사용됩니다. QueryStartAtConstraintstartAt() 또는 startAfter()를 호출하여 만든 후 query()에 전달하여 이 QueryStartAtConstraint도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다.
타임스탬프 Timestamp은 시간대 또는 캘린더와 무관한 특정 시점을 나타내며, UTC 에포크 시간으로 나노초 단위의 초와 초 단위로 표현됩니다.그레고리력을 1년 역방향으로 확장하는 그레고리력을 사용하여 인코딩됩니다. 인코딩 시 모든 분의 길이가 60초라고 가정합니다. 즉, 윤초는 '스미어(smear)' 처리되므로 해석을 위한 별도의 윤초 테이블이 필요하지 않습니다. 범위는 0001-01-01T00:00:00Z~9999-12-31T23:59:59.999999999Z입니다.예시 및 추가 사양은 타임스탬프 정의를 참조하세요.
트랜잭션 트랜잭션의 참조입니다.트랜잭션의 updateFunction에 전달되는 Transaction 객체는 트랜잭션 컨텍스트 내에서 데이터를 읽고 쓰는 메서드를 제공합니다. runTransaction()을 참조하세요.
WriteBatch 쓰기 일괄 처리로, 단일 원자 단위로 여러 쓰기를 수행하는 데 사용됩니다.WriteBatch 객체는 writeBatch()를 호출하여 가져올 수 있습니다. 쓰기 배치에 쓰기를 추가하는 메서드를 제공합니다. WriteBatch.commit()이 호출될 때까지 어떠한 쓰기도 커밋되거나 로컬에 표시되지 않습니다.

인터페이스

인터페이스 설명
AggregateSpec 집계 집합 및 별칭을 지정합니다.
문서 데이터 문서 데이터 (setDoc()와 함께 사용)는 값에 매핑된 필드로 구성됩니다.
FirestoreDataConverter withConverter()에서 사용하는 변환기로, AppModelType 유형의 사용자 객체를 DbModelType 유형의 Firestore 데이터로 변환합니다.변환기를 사용하면 Firestore에서 객체를 저장하고 가져올 때 일반 유형 인수를 지정할 수 있습니다.여기서 'AppModel'은 는 애플리케이션에서 관련 정보와 기능을 함께 패키징하는 데 사용되는 클래스입니다. 이러한 클래스에는 복잡하고 중첩된 데이터 유형이 있는 속성, 메모에 사용되는 속성, Firestore에서 지원하지 않는 유형의 속성 (예: symbolbigint) 및 복합 작업을 수행하는 도우미 함수가 포함될 수 있습니다. 이러한 클래스는 Firestore 데이터베이스에 저장하기에 적합하지 않거나 저장할 수 없습니다. 대신 이러한 클래스의 인스턴스는 '기존 일반 JavaScript 객체'로 변환해야 합니다. (POJO) 원시 속성이 독점적으로 다른 POJO 또는 POJO 배열 내에 중첩될 가능성이 있습니다. 이 문맥에서는 이 유형을 'DbModel'이라고 합니다. Firestore에 유지하는 데 적합한 객체입니다. 편의를 위해 애플리케이션은 FirestoreDataConverter를 구현하고 DocumentReference 또는 Query와 같은 Firestore 객체에 변환기를 등록하여 Firestore에 저장할 때 AppModelDbModel로 자동 변환하고 Firestore에서 검색할 때 DbModelAppModel로 변환할 수 있습니다.
설정 Cloud Firestore 인스턴스의 커스텀 구성을 지정합니다. 다른 메서드를 호출하기 전에 이를 설정해야 합니다.
TransactionOptions 거래 동작을 맞춤설정하는 옵션입니다.

유형 별칭

별칭 입력 설명
AddPrefixToKeys 모든 키의 접두어가 점 뒤에 추가된 외부 키를 사용하는 새 맵을 반환합니다.
AggregateFieldType Firestore에서 지원하는 모든 AggregateField 유형의 공용체입니다.
AggregateSpecData 키를 AggregateSpec에서 가져오고 그 값이 입력 AggregateSpec에서 상응하는 AggregateField에 의해 실행된 집계 결과인 유형입니다.
집계 유형 수행할 집계 유형을 나타내는 공용체 유형입니다.
ChildUpdateFields 지정된 유형 T1의 중첩된 필드를 계산하는 도우미입니다. undefined | {...} (선택적 props에서 발생) 또는 {a: A} | {b: B}와 같은 합집합 유형을 배포하는 데 필요합니다.이 사용 사례에서는 T[K]가 표현식으로 평가되고 배포되지 않으므로 Record에서 T[K]의 합집합 유형을 배포하는 데 V가 사용됩니다.https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types
FirestoreErrorCode Firestore 상태 코드 집합입니다. 코드는 여기 (https://github.com/grpc/grpc/blob/master/doc/statuscodes.md)에서 노출된 코드와 동일합니다.가능한 값: - 'cancelled': 작업이 취소되었습니다. 대개 호출자에 의해 취소됩니다. - '알 수 없음': 알 수 없는 오류 또는 다른 오류 도메인에서 오류가 발생했습니다. - 'invalid-argument': 클라이언트가 잘못된 인수를 지정했습니다. 이는 'failed-precondition'과 다릅니다. '잘못된 인수' 는 시스템 상태와 관계없이 문제가 있는 인수를 나타냅니다 (예: 잘못된 필드 이름). - '기한 초과': 작업을 완료하기 전에 기한이 지났습니다. 작업에서 시스템의 상태를 변경하는 경우 작업이 정상적으로 완료되었어도 이 오류가 반환될 수 있습니다. 예를 들어 서버의 성공 응답이 오래 지연되어 기한이 지났을 수 있습니다. - '찾을 수 없음': 요청한 일부 문서를 찾을 수 없습니다. - '이미 존재': 만들려는 일부 문서가 이미 존재합니다. - 'permission-denied': 호출자가 지정된 작업을 실행할 권한이 없습니다. - '리소스 소진': 일부 리소스가 소진되었습니다. 사용자당 할당량이나 전체 파일 시스템의 공간이 부족할 수 있습니다. - 'failed-precondition': 시스템이 작업 실행에 필요한 상태가 아니기 때문에 작업이 거부되었습니다. - 'aborted': 작업이 취소되었습니다. 일반적으로 트랜잭션 취소 등의 동시 실행 문제로 인해 발생합니다. - '범위 밖': 유효한 범위를 넘어 작업을 시도했습니다. - 'unImplemented(구현되지 않음)': 작업이 구현되지 않거나 지원되지 않거나 사용 설정되지 않습니다. - 'internal': 내부 오류입니다. 기본 시스템에서 예상하는 일부 불변 항목이 손상되었음을 의미합니다. 이 오류가 표시된다면 크게 손상된 항목이 있는 것입니다. - '사용할 수 없음': 현재 서비스를 사용할 수 없습니다. 일시적인 상태일 가능성이 높으며 백오프로 다시 시도하면 해결될 수 있습니다. - 'data-loss': 복구할 수 없는 데이터 손실 또는 손상입니다. - 'unauthenticated': 요청에 작업에 대한 올바른 사용자 인증 정보가 없습니다.
중첩된 업데이트 필드 각 필드 (예: 'bar')에 대해 모든 중첩된 키 (예: {'bar.baz': T1, 'bar.qux': T2})를 찾습니다. 이를 함께 교차하여 모두 선택사항으로 표시된 가능한 모든 키를 포함하는 단일 맵을 만듭니다.
OrderByDirection orderBy() 절의 방향은 'desc'로 지정됩니다. 또는 'asc' (내림차순 또는 오름차순)
PartialWithFieldValue가 포함되어 있습니다. TypeScript의 Partial<T>와 비슷하지만 중첩된 필드를 생략하고 FieldValue를 속성 값으로 전달할 수 있습니다.
원시 기본 유형
QueryConstraintType 이 SDK에서 사용할 수 있는 다양한 쿼리 제약조건을 설명합니다.
QueryFilterConstraint QueryFilterConstraintQueryFieldFilterConstraintQueryCompositeFilterConstraint를 나타내는 도우미 공용체 유형입니다.
쿼리 중 필터 제약 조건 QueryNonFilterConstraint는 문서 집합의 범위를 좁히거나 정렬하는 데 사용되지만 문서 필드를 명시적으로 필터링하지 않는 QueryConstraints를 나타내는 도우미 공용체 유형입니다. QueryNonFilterConstraintorderBy(), startAt(), startAfter(), endBefore(), endAt(), limit() 또는 limitToLast()를 호출하여 생성되며 query()에 전달하여 query()도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다. QueryConstraint
SetOptions setDoc()의 동작과 호출을 구성하는 옵션 객체입니다. 이러한 호출은 SetOptionsmerge: true를 제공하여 대상 문서 전체를 덮어쓰는 대신 세분화된 병합을 수행하도록 구성할 수 있습니다.
UnionToIntersection 공용체 유형이 U = T1 | T2 | ...이면 교차 유형 (T1 & T2 & ...)을 반환합니다.분포 조건부 유형과 조건부 유형의 추론을 사용합니다. 반변이 위치에서 동일한 유형 변수의 여러 후보가 교차 유형을 추론하기 때문에 작동합니다. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection-type
UpdateData 값에 매핑된 필드 경로 (예: 'foo' 또는 'foo.baz')로 구성된 데이터(updateDoc()와 함께 사용하기)를 업데이트합니다. 점이 포함된 필드는 문서 내의 중첩된 필드를 참조합니다. FieldValue는 속성 값으로 전달할 수 있습니다.
WHEREFilterOp where() 절의 필터 조건은 '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains', 'in', 'array-contains-any', 'not-in' 문자열을 사용하여 지정됩니다.
WithFieldValue 유형 안전성을 유지하면서 FieldValues를 속성 값으로 전달할 수 있습니다.

함수(앱, ...)

getFirestore(앱)

제공된 FirebaseApp과 연결된 기존의 기본 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.

서명:

export declare function getFirestore(app: FirebaseApp): Firestore;

매개변수

매개변수 유형 설명
Firebase 앱 반환된 Firestore 인스턴스와 연결된 FirebaseApp 인스턴스입니다.

반환:

Firestore

제공된 앱의 Firestore 인스턴스

getFirestore(app, databaseId)

이 API는 개발자를 위한 미리보기로 제공되며 Google에 접수된 의견에 따라 변경될 수 있습니다. 프로덕션 환경에서는 이 API를 사용하지 마세요.

제공된 FirebaseApp과 연결된 기존 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.

서명:

export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;

매개변수

매개변수 유형 설명
Firebase 앱 반환된 Firestore 인스턴스와 연결된 FirebaseApp 인스턴스입니다.
데이터베이스 ID 문자열 데이터베이스의 이름입니다.

반환:

Firestore

제공된 앱의 Firestore 인스턴스

Firestore(앱, 설정)

제공된 설정으로 Cloud Firestore의 새 인스턴스를 초기화합니다. getFirestore()를 포함한 다른 함수보다 먼저 호출할 수 있습니다. 커스텀 설정이 비어 있으면 이 함수는 getFirestore()를 호출하는 것과 같습니다.

서명:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore;

매개변수

매개변수 유형 설명
Firebase 앱 Firestore 인스턴스가 연결될 FirebaseApp입니다.
설정 설정 Firestore 인스턴스를 구성하기 위한 설정 객체.

반환:

Firestore

새로 초기화된 Firestore 인스턴스

Firestore(앱, 설정, 데이터베이스 ID)

이 API는 개발자를 위한 미리보기로 제공되며 Google에 접수된 의견에 따라 변경될 수 있습니다. 프로덕션 환경에서는 이 API를 사용하지 마세요.

제공된 설정으로 Cloud Firestore의 새 인스턴스를 초기화합니다. getFirestore()를 포함한 다른 함수보다 먼저 호출할 수 있습니다. 커스텀 설정이 비어 있으면 이 함수는 getFirestore()를 호출하는 것과 같습니다.

서명:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings, databaseId?: string): Firestore;

매개변수

매개변수 유형 설명
Firebase 앱 Firestore 인스턴스가 연결될 FirebaseApp입니다.
설정 설정 Firestore 인스턴스를 구성하기 위한 설정 객체.
데이터베이스 ID 문자열 데이터베이스의 이름입니다.

반환:

Firestore

새로 초기화된 Firestore 인스턴스

function(firestore, ...)

컬렉션(firestore, path, pathSegments)

지정된 절대 경로에 있는 컬렉션을 참조하는 CollectionReference 인스턴스를 가져옵니다.

서명:

export declare function collection(firestore: Firestore, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

매개변수

매개변수 유형 설명
firestore Firestore 루트 Firestore 인스턴스에 대한 참조입니다.
경로 문자열 슬래시로 구분된 컬렉션 경로입니다.
pathSegments 문자열[] 첫 번째 인수를 기준으로 적용할 추가 경로 세그먼트입니다.

반환:

CollectionReference<DocumentData, DocumentData>

CollectionReference 인스턴스

예외

최종 경로의 세그먼트가 짝수이고 컬렉션을 가리키지 않는 경우

collectionGroup(firestore, collectionId)

지정된 collectionId를 사용하여 컬렉션 또는 하위 컬렉션에 포함된 데이터베이스의 모든 문서를 포함하는 새 Query 인스턴스를 만들고 반환합니다.

서명:

export declare function collectionGroup(firestore: Firestore, collectionId: string): Query<DocumentData, DocumentData>;

매개변수

매개변수 유형 설명
firestore Firestore 루트 Firestore 인스턴스에 대한 참조입니다.
컬렉션 ID 문자열 쿼리할 컬렉션을 식별합니다. 이 ID가 경로의 마지막 세그먼트인 모든 컬렉션 또는 하위 컬렉션이 포함됩니다. 슬래시를 포함할 수 없습니다.

반환:

쿼리<DocumentData, DocumentData>

생성된 Query.

connectFirestoreEmulator(firestore, host, port, options)

Cloud Firestore 에뮬레이터와 통신하도록 이 인스턴스를 수정합니다.

서명:

export declare function connectFirestoreEmulator(firestore: Firestore, host: string, port: number, options?: {
    mockUserToken?: EmulatorMockTokenOptions | string;
}): void;

매개변수

매개변수 유형 설명
firestore Firestore 에뮬레이터에 연결하도록 구성할 Firestore 인스턴스
호스트 문자열 에뮬레이터 호스트 (예: localhost)
포트 숫자 에뮬레이터 포트 (예: 9000)입니다.
옵션 { fakeUserToken?: EmulatorMockTokenOptions | string; }

반환:

void

doc(firestore, path, pathSegments)

지정된 절대 경로에 있는 문서를 참조하는 DocumentReference 인스턴스를 가져옵니다.

서명:

export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

매개변수

매개변수 유형 설명
firestore Firestore 루트 Firestore 인스턴스에 대한 참조입니다.
경로 문자열 슬래시로 구분된 문서 경로입니다.
pathSegments 문자열[] 첫 번째 인수를 기준으로 적용될 추가 경로 세그먼트입니다.

반환:

DocumentReference<DocumentData, DocumentData>

DocumentReference 인스턴스

예외

최종 경로의 세그먼트가 홀수이고 문서를 가리키지 않는 경우

runTransaction(firestore, updateFunction, options)

지정된 updateFunction를 실행한 다음 트랜잭션 내에 적용된 변경사항을 커밋하려고 시도합니다. 트랜잭션 내에서 읽은 문서가 변경되면 Cloud Firestore에서 updateFunction를 다시 시도합니다. 5번의 시도 후에도 커밋에 실패하면 트랜잭션은 실패합니다.

단일 트랜잭션에 허용되는 최대 쓰기 수는 500개입니다.

서명:

export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;

매개변수

매개변수 유형 설명
firestore Firestore 이 트랜잭션을 실행할 Firestore 데이터베이스에 대한 참조입니다.
updateFunction (거래: 거래) => 프로미스<T> 트랜잭션 컨텍스트 내에서 실행할 함수입니다.
옵션 TransactionOptions 커밋할 최대 시도 횟수를 구성하는 옵션 객체입니다.

반환:

프로미스<T>

트랜잭션이 성공적으로 완료되었거나 명시적으로 취소되면 (updateFunction가 실패한 프로미스를 반환한 경우) updateFunction에서 반환된 프로미스가 여기에 반환됩니다. 그렇지 않고 트랜잭션이 실패하면 거부된 프로미스와 해당 실패 오류가 반환됩니다.

종료(firestore)

제공된 Firestore 인스턴스를 종료합니다.

terminate()를 호출한 후에는 clearIndexedDbPersistence() 함수만 사용할 수 있습니다. 다른 모든 함수는 FirestoreError을 발생시킵니다. 종료해도 대기 중인 쓰기가 취소되지 않으며 서버의 응답을 대기 중인 프로미스는 확인되지 않습니다.

종료 후 다시 시작하려면 getFirestore()를 사용하여 Firestore의 새 인스턴스를 만듭니다.

서명:

export declare function terminate(firestore: Firestore): Promise<void>;

매개변수

매개변수 유형 설명
firestore Firestore 종료할 Firestore 인스턴스입니다.

반환:

Promise&lt;void&gt;

인스턴스가 성공적으로 종료되었을 때 결정되는 Promise입니다.

writeBatch(firestore)

단일 원자적 작업으로 여러 쓰기를 수행하는 데 사용되는 쓰기 배치를 만듭니다. 단일 WriteBatch에 허용되는 최대 쓰기 수는 500개입니다.

이러한 쓰기 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 쓰기가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.

서명:

export declare function writeBatch(firestore: Firestore): WriteBatch;

매개변수

매개변수 유형 설명
firestore Firestore

반환:

WriteBatch

여러 쓰기를 원자적으로 실행하는 데 사용할 수 있는 WriteBatch입니다.

함수()

카운트()

쿼리의 결과 집합에서 문서 수를 계산하는 데 사용할 수 있는 AggregateField 객체를 만듭니다.

서명:

export declare function count(): AggregateField<number>;

반환:

AggregateField<숫자>

deleteField()

{merge: true}와 함께 updateDoc() 또는 setDoc()와 함께 사용할 센티널을 반환하여 필드를 삭제하도록 표시합니다.

서명:

export declare function deleteField(): FieldValue;

반환:

필드 값

문서 ID()

문서의 ID를 참조하는 특수 센티널 FieldPath를 반환합니다. 쿼리에서 문서 ID를 기준으로 정렬하거나 필터링하는 데 사용할 수 있습니다.

서명:

export declare function documentId(): FieldPath;

반환:

FieldPath

Firestore getFirestore()

기본 FirebaseApp에 연결된 기존의 기본 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.

서명:

export declare function getFirestore(): Firestore;

반환:

Firestore

제공된 앱의 Firestore 인스턴스

serverTimestamp()

작성된 데이터에 서버 생성 타임스탬프를 포함하기 위해 setDoc() 또는 updateDoc()와 함께 사용되는 센티널을 반환합니다.

서명:

export declare function serverTimestamp(): FieldValue;

반환:

필드 값

함수(데이터베이스 ID, ...)

getFirestore(databaseId)

이 API는 개발자를 위한 미리보기로 제공되며 Google에 접수된 의견에 따라 변경될 수 있습니다. 프로덕션 환경에서는 이 API를 사용하지 마세요.

기본 FirebaseApp에 연결된 기존 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.

서명:

export declare function getFirestore(databaseId: string): Firestore;

매개변수

매개변수 유형 설명
데이터베이스 ID 문자열 데이터베이스의 이름입니다.

반환:

Firestore

제공된 앱의 Firestore 인스턴스

function(elements, ...)

배열 제거(요소)

setDoc()와 함께 사용할 수 있거나 서버에 이미 존재하는 배열 값에서 지정된 요소를 삭제하도록 서버에 지시하는 특수한 값을 반환합니다. 지정된 각 요소의 모든 인스턴스가 배열에서 삭제됩니다. 수정 중인 필드가 아직 배열이 아닌 경우 빈 배열로 덮어쓰기됩니다.

서명:

export declare function arrayRemove(...elements: unknown[]): FieldValue;

매개변수

매개변수 유형 설명
elements 알 수 없음[] 배열에서 제거할 요소입니다.

반환:

필드 값

setDoc() 또는 updateDoc() 호출에 사용할 FieldValue 센티널

배열Union(요소)

지정된 요소를 서버에 이미 있는 배열 값과 통합하도록 서버에 지시하는 setDoc() 또는 updateDoc()와 함께 사용할 수 있는 특수한 값을 반환합니다. 지정된 배열에 없는 지정된 각 요소는 끝에 추가됩니다. 수정 중인 필드가 배열이 아닌 경우, 지정된 요소를 정확히 포함하는 배열로 필드를 덮어씁니다.

서명:

export declare function arrayUnion(...elements: unknown[]): FieldValue;

매개변수

매개변수 유형 설명
elements 알 수 없음[] 배열에 통합할 요소입니다.

반환:

필드 값

setDoc() 또는 updateDoc() 호출에 사용할 FieldValue 센티널입니다.

function(field, ...)

평균(필드)

쿼리의 결과 집합에서 문서 범위에 대한 지정된 필드의 평균을 계산하는 데 사용할 수 있는 AggregateField 객체를 만듭니다.

서명:

export declare function average(field: string | FieldPath): AggregateField<number | null>;

매개변수

매개변수 유형 설명
필드 문자열 | FieldPath 결과 집합 전체에서 평균을 계산할 필드를 지정합니다.

반환:

AggregateField<숫자 | null>

sum(필드)

쿼리 결과 집합에서 문서 범위에 대한 지정된 필드의 합계를 계산하는 데 사용할 수 있는 AggregateField 객체를 만듭니다.

서명:

export declare function sum(field: string | FieldPath): AggregateField<number>;

매개변수

매개변수 유형 설명
필드 문자열 | FieldPath 결과 집합에서 합산할 필드를 지정합니다.

반환:

AggregateField<숫자>

function(fieldPath, ...)

orderBy(fieldPath, directionsStr)

지정된 필드를 기준으로 쿼리 결과를 정렬하는 QueryOrderByConstraint를 만듭니다. 원하는 경우 오름차순 대신 내림차순으로 정렬합니다.

서명:

export declare function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;

매개변수

매개변수 유형 설명
fieldPath 문자열 | FieldPath 정렬 기준이 되는 필드입니다.
방향스트 OrderByDirection ('asc' 또는 'desc') 정렬 기준으로 사용할 방향입니다(선택사항). 지정하지 않으면 오름차순으로 정렬됩니다.

반환:

QueryOrderByConstraint

생성된 QueryOrderByConstraint입니다.

where(fieldPath, opStr, value)

문서에 지정된 필드가 포함되어야 하고 값이 제공된 관계 제약 조건을 충족해야 하도록 적용하는 QueryFieldFilterConstraint를 만듭니다.

서명:

export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;

매개변수

매개변수 유형 설명
fieldPath 문자열 | FieldPath 비교할 경로
opStr WHEREFilterOp 연산 문자열입니다 (예: "&lt;", "&lt;=", "==", "&lt;", "&lt;=", "!=").
알 수 없음 비교 값

반환:

QueryFieldFilterConstraint

생성된 QueryFieldFilterConstraint입니다.

function(fieldValues, ...)

endAt(fieldValues)

쿼리 순서에 따라 제공된 필드에서 끝나도록 결과 집합을 수정하는 QueryEndAtConstraint를 만듭니다. 필드 값의 순서는 쿼리의 절 기준 순서와 일치해야 합니다.

서명:

export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;

매개변수

매개변수 유형 설명
필드 값 알 수 없음[] 쿼리의 정렬 기준에 따라 이 쿼리를 종료할 필드 값입니다.

반환:

QueryEndAtConstraint를 사용해야 합니다.

query()에 전달할 QueryEndAtConstraint

endBefore(fieldValues)

쿼리 순서를 기준으로 제공된 필드보다 먼저 종료되도록 결과 집합을 수정하는 QueryEndAtConstraint를 만듭니다. 필드 값의 순서는 쿼리의 절 기준 순서와 일치해야 합니다.

서명:

export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;

매개변수

매개변수 유형 설명
필드 값 알 수 없음[] 쿼리의 정렬 기준에 따라 이전에 이 쿼리를 종료할 필드 값입니다.

반환:

QueryEndAtConstraint를 사용해야 합니다.

query()에 전달할 QueryEndAtConstraint

startAfter(fieldValues)

쿼리 순서를 기준으로 제공된 필드 다음에 시작되도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 필드 값의 순서는 쿼리의 절 기준 순서와 일치해야 합니다.

서명:

export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;

매개변수

매개변수 유형 설명
필드 값 알 수 없음[] 이 쿼리를 시작할 필드 값이며, 쿼리 정렬 기준입니다.

반환:

QueryStartAtConstraint

query()에 전달할 QueryStartAtConstraint

startAt(fieldValues)

쿼리 순서에 따라 제공된 필드에서 시작되도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 필드 값의 순서는 쿼리의 절 기준 순서와 일치해야 합니다.

서명:

export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;

매개변수

매개변수 유형 설명
필드 값 알 수 없음[] 쿼리의 정렬 기준으로 이 쿼리를 시작할 필드 값입니다.

반환:

QueryStartAtConstraint

query()에 전달할 QueryStartAtConstraint입니다.

함수(왼쪽, ...)

aggregateFieldEqual(왼쪽, 오른쪽)

두 'AggregateField' 인스턴스가 같은지 비교합니다.

서명:

export declare function aggregateFieldEqual(left: AggregateField<unknown>, right: AggregateField<unknown>): boolean;

매개변수

매개변수 유형 설명
왼쪽 AggregateField<알 수 없음> 이 AggregateField를 right와 비교하세요.
오른쪽 AggregateField<알 수 없음> 이 AggregateField를 left와 비교하세요.

반환:

부울

aggregateQuerySnapshotEqual(왼쪽, 오른쪽)

AggregateQuerySnapshot 인스턴스가 같은지 비교합니다.

AggregateQuerySnapshot 인스턴스는 '동일'한 것으로 간주됩니다. 는 동일한 데이터를 비교하는 기본 쿼리가 있는 경우에 한합니다.

서명:

export declare function aggregateQuerySnapshotEqual<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(left: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>, right: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>): boolean;

매개변수

매개변수 유형 설명
왼쪽 AggregateQuerySnapshot<AggregateSpecType, AppModelType, DBMModelType> 비교할 첫 번째 AggregateQuerySnapshot입니다.
오른쪽 AggregateQuerySnapshot<AggregateSpecType, AppModelType, DBMModelType> 비교할 두 번째 AggregateQuerySnapshot입니다.

반환:

부울

객체가 '동일'한 경우(위에 정의된 것처럼) true, 그렇지 않으면 false입니다.

queryEqual(왼쪽, 오른쪽)

제공된 쿼리가 동일한 컬렉션을 가리키고 동일한 제약조건을 적용하면 true를 반환합니다.

서명:

export declare function queryEqual<AppModelType, DbModelType extends DocumentData>(left: Query<AppModelType, DbModelType>, right: Query<AppModelType, DbModelType>): boolean;

매개변수

매개변수 유형 설명
왼쪽 쿼리<AppModelType, DBMModelType> 비교할 Query.
오른쪽 쿼리<AppModelType, DBMModelType> 비교할 Query.

반환:

부울

참조가 동일한 Firestore 데이터베이스에서 동일한 위치를 가리키면 true가 됩니다.

refEqual(왼쪽, 오른쪽)

제공된 참조가 같으면 true를 반환합니다.

서명:

export declare function refEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>, right: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>): boolean;

매개변수

매개변수 유형 설명
왼쪽 DocumentReference<AppModelType, DBMModelType> | CollectionReference<AppModelType, DBMModelType> 비교할 참조입니다.
오른쪽 DocumentReference<AppModelType, DBMModelType> | CollectionReference<AppModelType, DBMModelType> 비교할 참조입니다.

반환:

부울

참조가 동일한 Firestore 데이터베이스에서 동일한 위치를 가리키면 true가 됩니다.

스냅샷Equal(왼쪽, 오른쪽)

제공된 스냅샷이 같으면 true를 반환합니다.

서명:

export declare function snapshotEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>, right: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>): boolean;

매개변수

매개변수 유형 설명
왼쪽 DocumentSnapshot<AppModelType, DBMModelType> | QuerySnapshot<AppModelType, DBMModelType> 비교할 스냅샷입니다.
오른쪽 DocumentSnapshot<AppModelType, DBMModelType> | QuerySnapshot<AppModelType, DBMModelType> 비교할 스냅샷입니다.

반환:

부울

스냅샷이 같으면 true를 반환합니다.

function(limit, ...)

한도(한도)

일치하는 첫 번째 문서만 반환하는 QueryLimitConstraint를 만듭니다.

서명:

export declare function limit(limit: number): QueryLimitConstraint;

매개변수

매개변수 유형 설명
제한 숫자 반환할 최대 항목 수입니다.

반환:

QueryLimitConstraint

생성된 QueryLimitConstraint입니다.

limitToLast(limit)

마지막으로 일치하는 문서만 반환하는 QueryLimitConstraint를 만듭니다.

limitToLast 쿼리에 orderBy 절을 하나 이상 지정해야 합니다. 그러지 않으면 실행 중에 예외가 발생합니다.

서명:

export declare function limitToLast(limit: number): QueryLimitConstraint;

매개변수

매개변수 유형 설명
제한 숫자 반환할 최대 항목 수입니다.

반환:

QueryLimitConstraint

생성된 QueryLimitConstraint입니다.

function(logLevel, ...)

setLogLevel(logLevel)

Cloud Firestore 로그의 세부정보 수준 (디버그, 오류, 자동)을 설정합니다.

서명:

export declare function setLogLevel(logLevel: LogLevel): void;

매개변수

매개변수 유형 설명
logLevel LogLevel 활동 및 오류 로깅에 설정한 세부정보 수준입니다. 다음 값 중 하나일 수 있습니다.
  • debug: 가장 상세한 로깅 수준(주로 디버깅용)
  • error: 오류만 로깅합니다.
  • silent to turn off logging.

반환:

void

함수(n, ...)

증분(n)

필드의 현재 값을 지정된 값만큼 증가시키도록 서버에 지시하는 setDoc() 또는 updateDoc()와 함께 사용할 수 있는 특수한 값을 반환합니다.

피연산자 또는 현재 필드 값에서 부동 소수점 정밀도가 사용되는 경우 모든 산술은 IEEE 754 의미 체계를 따릅니다. 두 값이 모두 정수인 경우 JavaScript의 안전한 숫자 범위 (Number.MIN_SAFE_INTEGER~Number.MAX_SAFE_INTEGER)를 벗어나는 값도 정밀도가 손실될 수 있습니다. 또한 Firestore 백엔드에서 처리되면 모든 정수 작업은 -2^63~2^63-1로 제한됩니다.

현재 필드 값이 number 유형이 아니거나 필드가 아직 존재하지 않는 경우 변환은 필드를 지정된 값으로 설정합니다.

서명:

export declare function increment(n: number): FieldValue;

매개변수

매개변수 유형 설명
n 숫자 증분할 값입니다.

반환:

필드 값

setDoc() 또는 updateDoc() 호출에 사용할 FieldValue 센티널

function(query, ...)

getAggregate(query, aggregateSpec)

문서를 실제로 다운로드하지 않고 지정된 쿼리의 결과 집합에서 문서에 대해 지정된 집계를 계산합니다.

이 함수를 사용하여 집계를 수행하는 것이 효율적입니다. 문서의 다운로드되기 때문입니다. 이 함수는 결과 집합이 너무 커서 전부 다운로드할 수 없는 경우 (수천 개의 문서) 문서의 집계를 수행할 수 있습니다.

서명:

export declare function getAggregate<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, aggregateSpec: AggregateSpecType): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;

매개변수

매개변수 유형 설명
쿼리 쿼리<AppModelType, DBMModelType> 결과 집합이 집계되는 쿼리입니다.
누계 스펙 AggregateSpecType 결과 집합에 대해 수행할 집계를 지정하는 AggregateSpec 객체입니다. AggregateSpec은 집계 결과를 검색하는 데 사용할 수 있는 각 집계에 대한 별칭을 지정합니다.

반환:

프로미스<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DBMModelType>>

const aggregateSnapshot = await getAggregate(query, {
  countOfDocs: count(),
  totalHours: sum('hours'),
  averageScore: average('score')
});

const countOfDocs: number = aggregateSnapshot.data().countOfDocs;
const totalHours: number = aggregateSnapshot.data().totalHours;
const averageScore: number | null = aggregateSnapshot.data().averageScore;

getCount(쿼리)

문서를 실제로 다운로드하지 않고 지정된 쿼리의 결과 집합에 있는 문서 수를 계산합니다.

이 함수를 사용하여 문서를 계산하는 것은 문서의 최종 개수만 계산하고 데이터가 다운로드됩니다. 이 함수는 결과 집합이 너무 커서 완전히 다운로드할 수 없는 경우 (수천 개의 문서) 문서 수를 계산할 수 있습니다.

서명:

export declare function getCount<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<AggregateQuerySnapshot<{
    count: AggregateField<number>;
}, AppModelType, DbModelType>>;

매개변수

매개변수 유형 설명
쿼리 쿼리<AppModelType, DBMModelType> 결과 집합 크기가 계산되는 쿼리입니다.

반환:

프로미스<AggregateQuerySnapshot<{ count: AggregateField<number>; }, AppModelType, DBMModelType>>

개수로 처리될 프라미스입니다. 개수는 snapshot.data().count에서 가져올 수 있습니다. 여기서 snapshot는 반환된 프로미스가 확인하는 AggregateQuerySnapshot입니다.

getDocs(쿼리)

쿼리를 실행하고 결과를 QuerySnapshot으로 반환합니다.

모든 쿼리는 이전에 쿼리를 실행했더라도 서버에 의해 직접 실행됩니다. 최근 수정사항은 백엔드에서 이미 적용한 경우에만 검색된 결과에 반영됩니다. 클라이언트가 오프라인인 경우 작업이 실패합니다. 이전에 캐시된 결과 및 로컬 수정사항을 보려면 전체 Firestore SDK를 사용하세요.

서명:

export declare function getDocs<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

매개변수

매개변수 유형 설명
쿼리 쿼리<AppModelType, DBMModelType> 실행할 Query입니다.

반환:

프로미스<QuerySnapshot<AppModelType, DBMModelType>>

쿼리 결과로 해결될 프라미스입니다.

query(query, compositeFilter, queryConstraints)

추가 쿼리 제약조건도 포함하도록 확장된 Query의 변경 불가능한 새 인스턴스를 만듭니다.

서명:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<AppModelType, DbModelType>;

매개변수

매개변수 유형 설명
쿼리 쿼리<AppModelType, DBMModelType> 새 제약조건의 기반으로 사용할 Query 인스턴스입니다.
복합필터 QueryCompositeFilterConstraint 적용할 QueryCompositeFilterConstraint입니다. and() 또는 or()를 사용하여 QueryCompositeFilterConstraint를 만듭니다.
queryConstraints QueryNonFilterConstraint[] 적용할 추가 QueryNonFilterConstraint입니다 (예: orderBy(), limit()).

반환:

쿼리<AppModelType, DBMModelType>

예외

제공된 쿼리 제약조건 중 하나라도 기존 제약조건 또는 새 제약조건과 결합할 수 없는 경우

query(query, queryConstraints)

추가 쿼리 제약조건도 포함하도록 확장된 Query의 변경 불가능한 새 인스턴스를 만듭니다.

서명:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, ...queryConstraints: QueryConstraint[]): Query<AppModelType, DbModelType>;

매개변수

매개변수 유형 설명
쿼리 쿼리<AppModelType, DBMModelType> 새 제약조건의 기반으로 사용할 Query 인스턴스입니다.
queryConstraints 쿼리 제약 조건[] 적용할 QueryConstraint의 목록입니다.

반환:

쿼리<AppModelType, DBMModelType>

예외

제공된 쿼리 제약조건 중 하나라도 기존 제약조건 또는 새 제약조건과 결합할 수 없는 경우

function(queryConstraints, ...)

and(queryConstraints)

지정된 필터 제약조건과 결합된 새 QueryCompositeFilterConstraint를 만듭니다. 접속사 필터는 지정된 필터를 모두 만족하는 문서를 포함합니다.

서명:

export declare function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

매개변수

매개변수 유형 설명
queryConstraints QueryFilterConstraint[] 선택사항입니다. 결합을 수행할 QueryFilterConstraint의 목록입니다. where(), or() 또는 and()를 호출하여 만들어야 합니다.

반환:

QueryCompositeFilterConstraint

새로 만든 QueryCompositeFilterConstraint입니다.

또는(queryConstraints)

지정된 필터 제약 조건을 분리한 새 QueryCompositeFilterConstraint를 생성합니다. 분리 필터에는 지정된 필터 중 하나를 충족하는 문서가 포함됩니다.

서명:

export declare function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

매개변수

매개변수 유형 설명
queryConstraints QueryFilterConstraint[] 선택사항입니다. 분리를 수행할 QueryFilterConstraint의 목록입니다. where(), or() 또는 and()를 호출하여 만들어야 합니다.

반환:

QueryCompositeFilterConstraint

새로 만든 QueryCompositeFilterConstraint입니다.

function(reference, ...)

addDoc(참조, 데이터)

주어진 데이터로 지정된 CollectionReference에 새 문서를 추가하여 문서 ID를 자동으로 할당합니다.

이 쓰기 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 쓰기가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.

서명:

export declare function addDoc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<DocumentReference<AppModelType, DbModelType>>;

매개변수

매개변수 유형 설명
참조 CollectionReference<AppModelType, DBMType> 이 문서를 추가할 컬렉션에 대한 참조입니다.
데이터 WithFieldValue<AppModelType> 새 문서의 데이터를 포함하는 객체입니다.

반환:

프로미스<DocumentReference<AppModelType, DBMModelType>>

Promise이 백엔드에 작성된 후 새로 만든 문서를 가리키는 DocumentReference로 확인됩니다.

예외

오류 - 제공된 입력이 유효한 Firestore 문서가 아닌 경우

컬렉션(참조, 경로, 경로 세그먼트)

지정된 상대 경로에 있는 reference의 하위 컬렉션을 참조하는 CollectionReference 인스턴스를 가져옵니다.

서명:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

매개변수

매개변수 유형 설명
참조 CollectionReference<AppModelType, DBMType> 컬렉션에 대한 참조입니다.
경로 문자열 슬래시로 구분된 컬렉션 경로입니다.
pathSegments 문자열[] 첫 번째 인수를 기준으로 적용할 추가 경로 세그먼트입니다.

반환:

CollectionReference<DocumentData, DocumentData>

CollectionReference 인스턴스

예외

최종 경로의 세그먼트가 짝수이고 컬렉션을 가리키지 않는 경우

컬렉션(참조, 경로, 경로 세그먼트)

지정된 상대 경로에 있는 reference의 하위 컬렉션을 참조하는 CollectionReference 인스턴스를 가져옵니다.

서명:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

매개변수

매개변수 유형 설명
참조 DocumentReference<AppModelType, DBMModelType> Firestore 문서에 대한 참조입니다.
경로 문자열 슬래시로 구분된 컬렉션 경로입니다.
pathSegments 문자열[] 첫 번째 인수를 기준으로 적용될 추가 경로 세그먼트입니다.

반환:

CollectionReference<DocumentData, DocumentData>

CollectionReference 인스턴스

예외

최종 경로의 세그먼트가 짝수이고 컬렉션을 가리키지 않는 경우

deleteDoc(참조)

지정된 DocumentReference에서 참조한 문서를 삭제합니다.

반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 삭제가 반영됩니다. 클라이언트가 오프라인 상태인 경우 삭제가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.

서명:

export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;

매개변수

매개변수 유형 설명
참조 DocumentReference<AppModelType, DBMModelType> 삭제할 문서에 대한 참조입니다.

반환:

Promise&lt;void&gt;

문서가 백엔드에서 성공적으로 삭제되면 Promise가 확인됩니다.

doc(참조, 경로, 경로 세그먼트)

지정된 상대 경로에 있는 reference 내의 문서를 참조하는 DocumentReference 인스턴스를 가져옵니다. 경로를 지정하지 않으면 자동으로 생성된 고유 ID가 반환된 DocumentReference에 사용됩니다.

서명:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path?: string, ...pathSegments: string[]): DocumentReference<AppModelType, DbModelType>;

매개변수

매개변수 유형 설명
참조 CollectionReference<AppModelType, DBMType> 컬렉션에 대한 참조입니다.
경로 문자열 슬래시로 구분된 문서 경로입니다. 자동 생성된 ID를 사용하려면 생략해야 합니다.
pathSegments 문자열[] 첫 번째 인수를 기준으로 적용될 추가 경로 세그먼트입니다.

반환:

DocumentReference<AppModelType, DBMModelType>

DocumentReference 인스턴스

예외

최종 경로의 세그먼트가 홀수이고 문서를 가리키지 않는 경우

doc(참조, 경로, 경로 세그먼트)

지정된 상대 경로에 있는 reference 내의 문서를 참조하는 DocumentReference 인스턴스를 가져옵니다.

서명:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

매개변수

매개변수 유형 설명
참조 DocumentReference<AppModelType, DBMModelType> Firestore 문서에 대한 참조입니다.
경로 문자열 슬래시로 구분된 문서 경로입니다.
pathSegments 문자열[] 첫 번째 인수를 기준으로 적용될 추가 경로 세그먼트입니다.

반환:

DocumentReference<DocumentData, DocumentData>

DocumentReference 인스턴스

예외

최종 경로의 세그먼트가 홀수이고 문서를 가리키지 않는 경우

getDoc(참조)

지정된 문서 참조에서 참조하는 문서를 읽습니다.

이전에 문서를 읽거나 수정한 경우에도 모든 문서를 서버에서 직접 가져옵니다. 최근 수정사항은 백엔드에서 이미 적용한 경우에만 검색된 DocumentSnapshot에 반영됩니다. 클라이언트가 오프라인 상태이면 읽기가 실패합니다. 캐싱을 사용하거나 로컬 수정을 보려면 전체 Firestore SDK를 사용하세요.

서명:

export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

매개변수

매개변수 유형 설명
참조 DocumentReference<AppModelType, DBMModelType> 가져올 문서의 참조입니다.

반환:

프로미스<DocumentSnapshot<AppModelType, DBMModelType>>

프로미스가 현재 문서 콘텐츠가 포함된 DocumentSnapshot로 확인됩니다.

setDoc(참조, 데이터)

지정된 DocumentReference에서 참조하는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다.

이 쓰기 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 쓰기가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.

서명:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<void>;

매개변수

매개변수 유형 설명
참조 DocumentReference<AppModelType, DBMModelType> 작성할 문서에 대한 참조입니다.
데이터 WithFieldValue<AppModelType> 문서의 필드와 값의 맵입니다.

반환:

Promise&lt;void&gt;

데이터가 백엔드에 성공적으로 기록되면 Promise가 확인됩니다.

예외

오류 - 제공된 입력이 유효한 Firestore 문서가 아닌 경우

setDoc(참조, 데이터, 옵션)

지정된 DocumentReference에서 참조하는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다. merge 또는 mergeFields를 제공하면 제공된 데이터를 기존 문서에 병합할 수 있습니다.

이 쓰기 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 쓰기가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.

서명:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): Promise<void>;

매개변수

매개변수 유형 설명
참조 DocumentReference<AppModelType, DBMModelType> 작성할 문서에 대한 참조입니다.
데이터 PartialWithFieldValue<AppModelType> 문서의 필드와 값의 맵입니다.
옵션 SetOptions 집합 동작을 구성하는 객체입니다.

반환:

Promise&lt;void&gt;

데이터가 백엔드에 성공적으로 기록되면 Promise가 확인됩니다.

예외

오류 - 제공된 입력이 유효한 Firestore 문서가 아닌 경우

updateDoc(참조, 데이터)

지정된 DocumentReference에서 참조하는 문서의 필드를 업데이트합니다. 존재하지 않는 문서를 적용하면 업데이트가 실패합니다.

이 업데이트의 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 업데이트가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.

서명:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): Promise<void>;

매개변수

매개변수 유형 설명
참조 DocumentReference<AppModelType, DBMModelType> 업데이트할 문서에 대한 참조입니다.
데이터 UpdateData<DbModelType> 문서를 업데이트할 필드와 값이 포함된 객체입니다. 필드에는 문서 내의 중첩된 필드를 참조하는 점이 포함될 수 있습니다.

반환:

Promise&lt;void&gt;

데이터가 백엔드에 성공적으로 기록되면 Promise가 확인됩니다.

예외

오류 - 제공된 입력이 유효한 Firestore 데이터가 아닌 경우

updateDoc(참조, 필드, 값, moreFieldsAndValues)

지정된 DocumentReference에서 참조하는 문서의 필드를 업데이트합니다. 존재하지 않는 문서에 적용하면 업데이트가 실패합니다.

중첩된 필드는 점으로 구분된 필드 경로 문자열을 제공하거나 FieldPath 객체를 제공하여 업데이트할 수 있습니다.

이 업데이트의 결과는 반환된 프로미스가 확인된 후에 발생하는 문서 읽기에만 반영됩니다. 클라이언트가 오프라인 상태인 경우 업데이트가 실패합니다. 클라이언트가 온라인 상태가 될 때까지 로컬 수정 또는 버퍼 쓰기를 확인하려면 전체 Firestore SDK를 사용하세요.

서명:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise<void>;

매개변수

매개변수 유형 설명
참조 DocumentReference<AppModelType, DBMModelType> 업데이트할 문서에 대한 참조입니다.
필드 문자열 | FieldPath 업데이트할 첫 번째 필드입니다.
알 수 없음 첫 번째 값입니다.
moreFieldsAndValues 알 수 없음[] 추가 키-값 쌍입니다.

반환:

Promise&lt;void&gt;

데이터가 백엔드에 성공적으로 기록되면 Promise가 확인됩니다.

예외

오류 - 제공된 입력이 유효한 Firestore 데이터가 아닌 경우

함수(스냅샷, ...)

endAt(스냅샷)

결과 집합을 제공된 문서 (포함)에서 끝나도록 수정하는 QueryEndAtConstraint를 만듭니다. 종료 위치는 쿼리의 순서를 기준으로 합니다. 문서의 orderBy에 제공된 모든 필드가 문서에 포함되어야 합니다.

서명:

export declare function endAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

매개변수

매개변수 유형 설명
스냅샷 DocumentSnapshot<AppModelType, DBMModelType> 종료 시점이 되는 문서의 스냅샷입니다.

반환:

QueryEndAtConstraint를 사용해야 합니다.

query()에 전달할 QueryEndAtConstraint

endBefore(스냅샷)

제공된 문서보다 먼저 끝나도록 결과 집합을 수정하는 QueryEndAtConstraint를 만듭니다. 종료 위치는 쿼리의 순서를 기준으로 합니다. 문서의 orderBy에 제공된 모든 필드가 문서에 포함되어야 합니다.

서명:

export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

매개변수

매개변수 유형 설명
스냅샷 DocumentSnapshot<AppModelType, DBMModelType> 전에 종료할 문서의 스냅샷입니다.

반환:

QueryEndAtConstraint를 사용해야 합니다.

query()에 전달할 QueryEndAtConstraint

startAfter(스냅샷)

제공된 문서 (제외) 이후에 시작하도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 시작 위치는 쿼리의 순서를 기준으로 합니다. 문서의 orderBy에 제공된 모든 필드가 문서에 포함되어야 합니다.

서명:

export declare function startAfter<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

매개변수

매개변수 유형 설명
스냅샷 DocumentSnapshot<AppModelType, DBMModelType> 시작할 문서의 스냅샷입니다.

반환:

QueryStartAtConstraint

query()에 전달할 QueryStartAtConstraint

startAt(스냅샷)

결과 집합을 제공된 문서 (포함)에서 시작하도록 수정하는 QueryStartAtConstraint를 만듭니다. 시작 위치는 쿼리의 순서를 기준으로 합니다. 문서는 이 쿼리의 orderBy에 제공된 모든 필드를 포함해야 합니다.

서명:

export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

매개변수

매개변수 유형 설명
스냅샷 DocumentSnapshot<AppModelType, DBMModelType> 시작할 문서의 스냅샷입니다.

반환:

QueryStartAtConstraint

query()에 전달할 QueryStartAtConstraint입니다.

AddPrefixToKeys)

모든 키의 접두어가 점 뒤에 추가된 외부 키를 사용하는 새 맵을 반환합니다.

서명:

export declare type AddPrefixToKeys<Prefix extends string, T extends Record<string, unknown>> = {
    [K in keyof T & string as `${Prefix}.${K}`]+?: string extends K ? any : T[K];
};

집계필드 유형

Firestore에서 지원하는 모든 AggregateField 유형의 공용체입니다.

서명:

export declare type AggregateFieldType = ReturnType<typeof sum> | ReturnType<typeof average> | ReturnType<typeof count>;

집계 사양 데이터

AggregateSpec에서 키를 가져오고 값이 입력 AggregateSpec에서 상응하는 AggregateField에 의해 수행된 집계 결과인 유형입니다.

서명:

export declare type AggregateSpecData<T extends AggregateSpec> = {
    [P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
};

집계 유형

수행할 집계 유형을 나타내는 공용체 유형입니다.

서명:

export declare type AggregateType = 'count' | 'avg' | 'sum';

ChildUpdateFields

지정된 유형 T1의 중첩된 필드를 계산하는 도우미입니다. undefined | {...} (선택적 props에서 발생) 또는 {a: A} | {b: B}와 같은 유니온 유형을 배포하는 데 필요합니다.

이 사용 사례에서는 T[K]가 배포되지 않고 표현식으로 평가되므로 V를 사용하여 T[K]의 union 유형을 Record에 배포합니다.

https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types

서명:

export declare type ChildUpdateFields<K extends string, V> = V extends Record<string, unknown> ? AddPrefixToKeys<K, UpdateData<V>> : never;

FirestoreErrorCode

Firestore 상태 코드 집합입니다. 코드는 여기(https://github.com/grpc/grpc/blob/master/doc/statuscodes.md)에서 gRPC에서 노출된 코드와 동일합니다.

가능한 값: - 'cancelled': 작업이 취소되었습니다 (일반적으로 호출자에 의해 취소됨). - '알 수 없음': 알 수 없는 오류 또는 다른 오류 도메인에서 오류가 발생했습니다. - 'invalid-argument': 클라이언트가 잘못된 인수를 지정했습니다. 이는 'failed-precondition'과 다릅니다. '잘못된 인수' 는 시스템 상태와 관계없이 문제가 있는 인수를 나타냅니다 (예: 잘못된 필드 이름). - '기한 초과': 작업을 완료하기 전에 기한이 지났습니다. 작업에서 시스템의 상태를 변경하는 경우 작업이 정상적으로 완료되었어도 이 오류가 반환될 수 있습니다. 예를 들어 서버의 성공 응답이 오래 지연되어 기한이 지났을 수 있습니다. - '찾을 수 없음': 요청한 일부 문서를 찾을 수 없습니다. - '이미 존재': 만들려는 일부 문서가 이미 존재합니다. - 'permission-denied': 호출자가 지정된 작업을 실행할 권한이 없습니다. - '리소스 소진': 일부 리소스가 소진되었습니다. 사용자당 할당량이나 전체 파일 시스템의 공간이 부족할 수 있습니다. - 'failed-precondition': 시스템이 작업 실행에 필요한 상태가 아니기 때문에 작업이 거부되었습니다. - 'aborted': 작업이 취소되었습니다. 일반적으로 트랜잭션 취소 등의 동시 실행 문제로 인해 발생합니다. - '범위 밖': 유효한 범위를 넘어 작업을 시도했습니다. - 'unImplemented(구현되지 않음)': 작업이 구현되지 않거나 지원되지 않거나 사용 설정되지 않습니다. - 'internal': 내부 오류입니다. 기본 시스템에서 예상하는 일부 불변 항목이 손상되었음을 의미합니다. 이 오류가 표시된다면 크게 손상된 항목이 있는 것입니다. - '사용할 수 없음': 현재 서비스를 사용할 수 없습니다. 일시적인 상태일 가능성이 높으며 백오프로 다시 시도하면 해결될 수 있습니다. - 'data-loss': 복구할 수 없는 데이터 손실 또는 손상입니다. - 'unauthenticated': 요청에 작업에 대한 올바른 사용자 인증 정보가 없습니다.

서명:

export declare type FirestoreErrorCode = 'cancelled' | 'unknown' | 'invalid-argument' | 'deadline-exceeded' | 'not-found' | 'already-exists' | 'permission-denied' | 'resource-exhausted' | 'failed-precondition' | 'aborted' | 'out-of-range' | 'unimplemented' | 'internal' | 'unavailable' | 'data-loss' | 'unauthenticated';

중첩 업데이트 필드

각 필드 (예: 'bar')에 대해 모든 중첩된 키 (예: {'bar.baz': T1, 'bar.qux': T2})를 찾습니다. 이를 함께 교차하여 모두 선택사항으로 표시된 가능한 모든 키를 포함하는 단일 맵을 만듭니다.

서명:

export declare type NestedUpdateFields<T extends Record<string, unknown>> = UnionToIntersection<{
    [K in keyof T & string]: ChildUpdateFields<K, T[K]>;
}[keyof T & string]>;

방향 기준

orderBy() 절의 방향은 'desc'로 지정됩니다. 또는 'asc' (내림차순 또는 오름차순)

서명:

export declare type OrderByDirection = 'desc' | 'asc';

필드 값 부분 포함

TypeScript의 Partial<T>와 비슷하지만 중첩된 필드를 생략하고 FieldValue를 속성 값으로 전달할 수 있습니다.

서명:

export declare type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
} : never);

기본 역할

기본 유형

서명:

export declare type Primitive = string | number | boolean | undefined | null;

쿼리 제약조건 유형

이 SDK에서 사용할 수 있는 다양한 쿼리 제약조건을 설명합니다.

서명:

export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';

쿼리 필터 제약 조건

QueryFilterConstraintQueryFieldFilterConstraintQueryCompositeFilterConstraint를 나타내는 도우미 공용체 유형입니다.

서명:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

쿼리 비필터 제약 조건

QueryNonFilterConstraint는 문서 집합의 범위를 좁히거나 정렬하는 데 사용되지만 문서 필드를 명시적으로 필터링하지 않는 QueryConstraints를 나타내는 도우미 공용체 유형입니다. QueryNonFilterConstraintorderBy(), startAt(), startAfter(), endBefore(), endAt(), limit() 또는 limitToLast()를 호출하여 생성되며 query()에 전달되어 query()에도 포함된 새 쿼리 인스턴스를 만들 수 있습니다.QueryConstraint

서명:

export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;

SetOptions

setDoc()의 동작과 호출을 구성하는 옵션 객체입니다. 이러한 호출은 SetOptionsmerge: true를 제공하여 대상 문서 전체를 덮어쓰는 대신 세분화된 병합을 수행하도록 구성할 수 있습니다.

서명:

export declare type SetOptions = {
    readonly merge?: boolean;
} | {
    readonly mergeFields?: Array<string | FieldPath>;
};

UnionToIntersection

공용체 유형이 U = T1 | T2 | ...이면 교차 유형 (T1 & T2 & ...)이 반환됩니다.

분포 조건부 유형과 조건부 유형의 추론을 사용합니다. 반변이 위치에서 동일한 유형 변수의 여러 후보가 교차 유형을 추론하기 때문에 작동합니다. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection-type

서명:

export declare type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;

데이터 업데이트

값에 매핑된 필드 경로 (예: 'foo' 또는 'foo.baz')로 구성된 데이터(updateDoc()와 함께 사용하기)를 업데이트합니다. 점이 포함된 필드는 문서 내의 중첩된 필드를 참조합니다. FieldValue는 속성 값으로 전달할 수 있습니다.

서명:

export declare type UpdateData<T> = T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: UpdateData<T[K]> | FieldValue;
} & NestedUpdateFields<T> : Partial<T>;

PlacesFilterOp

where() 절의 필터 조건은 '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains', 'in', 'array-contains-any', 'not-in' 문자열을 사용하여 지정됩니다.

서명:

export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';

필드 값 포함

유형 안전성을 유지하면서 FieldValues를 속성 값으로 전달할 수 있습니다.

서명:

export declare type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]: WithFieldValue<T[K]> | FieldValue;
} : never);