함수
함수 | 설명 |
---|---|
function(앱, ...) | |
getFirestore(app) | 제공된 FirebaseApp과 연결된 기존의 기본 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다. |
getFirestore(app, databaseId) | (베타) 제공된 FirebaseApp과 연결된, 이름이 지정된 기존 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다. |
initialFirestore(app, settings, databaseId) | 제공된 설정으로 Firestore의 새 인스턴스를 초기화합니다. getFirestore()를 포함한 다른 함수보다 먼저 호출할 수 있습니다. 커스텀 설정이 비어 있으면 이 함수는 getFirestore()를 호출하는 것과 같습니다. |
function(firestore, ...) | |
clearIndexedDbPersistence(firestore) | 영구 저장소를 지웁니다. 여기에는 대기 중인 쓰기 및 캐시된 문서가 포함됩니다.Firestore 인스턴스가 시작되지 않은 동안 (앱이 종료되거나 앱이 처음 초기화된 후) 호출해야 합니다. 시작 시 이 함수는 다른 함수보다 먼저 호출해야 합니다 (initialFirestore() 또는 getFirestore() 제외). Firestore 인스턴스가 아직 실행 중인 경우 프로미스가 failed-precondition 오류 코드와 함께 거부됩니다.참고: clearIndexedDbPersistence() 는 주로 Cloud Firestore를 사용하는 안정적인 테스트를 작성하는 데 도움이 됩니다. 기존 데이터를 삭제하는 데 효율적인 메커니즘을 사용하지만 안전하게 덮어쓰거나 캐시된 데이터를 복구할 수 없게 만들려고 시도하지 않습니다. 사용자 세션 간에 캐시된 데이터가 공개되는 것에 민감한 애플리케이션의 경우 지속성을 아예 사용 설정하지 않는 것이 좋습니다. |
collection(firestore, path, pathSegments) | 지정된 절대 경로에 있는 컬렉션을 참조하는 CollectionReference 인스턴스를 가져옵니다. |
collectionGroup(firestore, collectionId) | 지정된 collectionId 를 사용하여 컬렉션 또는 하위 컬렉션에 포함된 데이터베이스의 모든 문서가 포함된 새 Query 인스턴스를 만들고 반환합니다. |
connectFirestoreEmulator(firestore, host, port, options) | Cloud Firestore 에뮬레이터와 통신하도록 이 인스턴스를 수정하세요.참고: 이 인스턴스는 작업을 실행하는 데 사용하기 전에 호출해야 합니다. |
disableNetwork(firestore)) | 이 인스턴스의 네트워크 사용량을 사용 중지합니다. enableNetwork()를 통해 다시 사용 설정할 수 있습니다. 네트워크가 사용 중지된 동안에는 모든 스냅샷 리스너, getDoc() 또는 getDocs() 호출이 캐시에서 결과를 반환하고 네트워크가 복원될 때까지 모든 쓰기 작업이 큐에 추가됩니다. |
doc(firestore, path, pathSegments) | 지정된 절대 경로에 있는 문서를 참조하는 DocumentReference 인스턴스를 가져옵니다. |
enableIndexedDbPersistence(firestore, persistentSettings) | 가능한 경우 영구 저장소를 사용 설정합니다.실패 시 enableIndexedDbPersistence() 에서 프로미스를 거부하거나 예외를 발생시킵니다. 실패하는 이유는 여러 가지가 있으며 오류의 code 에서 확인할 수 있습니다.* failed-precondition: 앱이 이미 다른 브라우저 탭에 열려 있습니다. * 구현되지 않음: 브라우저가 오프라인 지속성 구현과 호환되지 않습니다.실패한 후에도 Firestore 인스턴스는 사용할 수 있지만 오프라인 지속성은 사용 중지됩니다.참고: enableIndexedDbPersistence() 는 다른 함수 (initialFirestore(), getFirestore() 또는 clearIndexedDbPersistence() 제외)보다 먼저 호출해야 합니다.Node.js에서는 지속성을 사용할 수 없습니다. |
enableMultiTabIndexedDbPersistence(firestore) | 가능한 경우 멀티탭 영구 저장소를 사용 설정합니다. 모든 탭에서 사용 설정하면 연결된 모든 인스턴스에서 쿼리 공유 실행 및 지연 시간 보상 로컬 문서 업데이트를 포함한 모든 작업이 로컬 지속성에 대한 액세스를 공유합니다.실패하면 enableMultiTabIndexedDbPersistence() 에서 프로미스를 거부하거나 예외를 발생시킵니다. 실패하는 이유는 여러 가지가 있으며 오류의 code 에서 확인할 수 있습니다.* failed-precondition: 앱이 이미 다른 브라우저 탭에 열려 있고 멀티 탭이 사용 설정되지 않았습니다. * 구현되지 않음: 브라우저가 오프라인 지속성 구현과 호환되지 않습니다.오류가 발생한 후에도 Firestore 인스턴스는 사용 가능한 상태로 유지되지만 오프라인 지속성은 사용 중지됩니다. |
enableNetwork(firestore) | 이전에 disableNetwork()를 호출한 후 이 Firestore 인스턴스의 네트워크 사용을 다시 사용 설정합니다. |
getPersistentCacheIndexManager(firestore) | 지정된 Firestore 객체에서 사용하는 PersistentCache 색인 관리자를 반환합니다. PersistentCacheIndexManager 인스턴스 또는 로컬 영구 스토리지를 사용하지 않는 경우 null |
loadBundle(firestore, bundleData) | Firestore 번들을 로컬 캐시에 로드합니다. |
namedQuery(firestore, name) | 지정된 이름으로 식별된 로컬 캐시에서 Firestore Query를 읽습니다.이름이 지정된 쿼리는 결과 문서와 함께 서버 측의 번들로 패키징되고 loadBundle 를 사용하여 로컬 캐시에 로드됩니다. 로컬 캐시에 있으면 이 메서드를 사용하여 이름으로 Query를 추출합니다. |
onSnapshotsInSync(firestore, 관찰자) | Metrics-in-sync 이벤트의 리스너를 연결합니다. 스냅샷 동기화 이벤트는 서버에서 생성된 단일 변경사항이 여러 리스너에 영향을 미치더라도 특정 변경사항의 영향을 받은 모든 리스너가 실행되었음을 나타냅니다.참고: 동기화 스냅샷 이벤트는 리스너가 서로 동기화되었음을 나타낼 뿐이며, 해당 스냅샷이 서버와 동기화되었는지와는 관계가 없습니다. 개별 리스너에서 SnapshotMetadata를 사용하여 스냅샷이 캐시에서 전송된 것인지, 서버에서 가져온 것인지 확인합니다. |
onSnapshotsInSync(firestore, onSync) | Metrics-in-sync 이벤트의 리스너를 연결합니다. 스냅샷 동기화 이벤트는 서버에서 생성된 단일 변경사항이 여러 리스너에 영향을 미치더라도 특정 변경사항의 영향을 받은 모든 리스너가 실행되었음을 나타냅니다.참고: 동기화 스냅샷 이벤트는 리스너가 서로 동기화되었음을 나타낼 뿐이며, 해당 스냅샷이 서버와 동기화되었는지와는 관계가 없습니다. 개별 리스너에서 SnapshotMetadata 를 사용하여 스냅샷의 출처가 캐시인지, 서버인지 확인합니다. |
runTransaction(firestore, updateFunction, options) | 지정된 updateFunction 를 실행한 다음 트랜잭션 내에 적용된 변경사항을 커밋하려고 시도합니다. 트랜잭션 내에서 읽은 문서가 변경되면 Cloud Firestore에서 updateFunction 를 다시 시도합니다. 5회 시도 후에도 커밋에 실패하면 트랜잭션이 실패합니다.단일 트랜잭션에서 허용되는 최대 쓰기 수는 500회입니다. |
setIndexConfiguration(firestore, configuration) | (베타) 로컬 쿼리 실행의 색인 생성을 구성합니다. 이전 색인 구성이 재정의됩니다. 색인 구성이 유지되면 Promise 가 확인됩니다.색인 항목 자체는 비동기식으로 생성됩니다. 색인을 아직 사용할 수 없더라도 색인 생성이 필요한 쿼리는 계속 사용할 수 있습니다. 색인 항목이 기록되면 쿼리 실행이 자동으로 색인을 사용하기 시작합니다.색인은 IndexedDb 지속성으로만 지원됩니다. IndexedDb가 사용 설정되지 않은 경우 색인 구성이 무시됩니다. |
setIndexConfiguration(firestore, json) | (베타) 로컬 쿼리 실행의 색인 생성을 구성합니다. 이전 색인 구성이 재정의됩니다. 색인 구성이 유지되면 Promise 가 확인됩니다.색인 항목 자체는 비동기식으로 생성됩니다. 색인을 아직 사용할 수 없더라도 색인 생성이 필요한 쿼리는 계속 사용할 수 있습니다. 색인 항목이 기록되면 쿼리 실행이 자동으로 색인을 사용하기 시작합니다.색인은 IndexedDb 지속성으로만 지원됩니다. 색인 구성을 설정하기 전에 enableIndexedDbPersistence() 또는 enableMultiTabIndexedDbPersistence() 를 호출합니다. IndexedDb가 사용 설정되지 않은 경우 색인 구성이 무시됩니다.이 메서드는 Firebase CLI (firebase firestore:indexes )에서 내보낸 JSON 형식을 허용합니다. JSON 형식이 유효하지 않으면 이 메서드에서 오류가 발생합니다. |
terminate(firestore) | 제공된 Firestore 인스턴스를 종료합니다.terminate() 를 호출한 후에는 clearIndexedDbPersistence() 함수만 사용할 수 있습니다. 다른 모든 함수에서는 FirestoreError 이 발생합니다.종료 후 다시 시작하려면 getFirestore()를 사용하여 FirebaseFirestore의 새 인스턴스를 만듭니다.종료 시 대기 중인 쓰기가 취소되지 않으며 서버의 응답을 대기 중인 프로미스는 확인되지 않습니다. 지속성을 사용 설정하면 다음에 이 인스턴스를 시작할 때 서버에 대한 쓰기 작업이 다시 시작됩니다.참고: 일반적인 상황에서는 terminate() 를 호출할 필요가 없습니다. 이 함수는 인스턴스에서 강제로 모든 리소스를 해제하거나 clearIndexedDbPersistence() 와 조합하여 테스트 실행 사이에 모든 로컬 상태가 소멸되도록 하려는 경우에만 유용합니다. |
waitForPendingWrites(firestore) | 활성 사용자의 현재 대기 중인 모든 쓰기를 백엔드에서 확인할 때까지 대기합니다.미해결 쓰기가 없으면 반환된 프로미스가 즉시 확인됩니다. 그 외의 경우 프로미스는 이전에 발생한 모든 쓰기 (이전 앱 세션에서 작성된 쓰기 포함)를 기다리지만 함수가 호출된 후에 추가된 쓰기는 기다리지 않습니다. 추가 쓰기를 기다리려면 waitForPendingWrites() 를 다시 호출합니다.해결되지 않은 waitForPendingWrites() 프라미스는 사용자 변경 중에 거부됩니다. |
writeBatch(firestore) | 단일 원자적 작업으로 여러 쓰기를 수행하는 데 사용되는 쓰기 배치를 만듭니다. 단일 WriteBatch에 허용되는 최대 쓰기 수는 500개입니다.트랜잭션과 달리 쓰기 배치는 오프라인으로 유지되므로 읽기 데이터에 대한 쓰기를 컨디셔닝할 필요가 없는 경우에 권장됩니다. |
함수() | |
count() | 쿼리의 결과 집합에서 문서 수를 계산하는 데 사용할 수 있는 AggregateField 객체를 만듭니다. |
deleteField() | {merge: true} 와 함께 updateDoc() 또는 setDoc()와 함께 사용할 센티널을 반환하여 필드를 삭제하도록 표시합니다. |
documentId()를 사용해야 합니다. | 문서의 ID를 참조하는 특수 센티널 FieldPath 를 반환합니다. 쿼리에서 문서 ID를 기준으로 정렬하거나 필터링하는 데 사용할 수 있습니다. |
getFirestore()를 사용합니다. | 기본 FirebaseApp에 연결된 기존의 기본 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다. |
memoryEagerGarbageCollector() | MemoryEagerGarbageCollector 의 인스턴스를 생성합니다. 명시적으로 달리 지정되지 않는 한 기본 가비지 컬렉터이기도 합니다. |
persistentMultipleTabManager())를 호출할 수 있습니다. | PersistentMultipleTabManager 의 인스턴스를 생성합니다. |
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를 만듭니다. 필드 값의 순서는 쿼리의 절 기준 순서와 일치해야 합니다. |
function(indexManager, ...) | |
deleteAllPersistentCacheIndexes(indexManager)를 지원합니다. | 모든 영구 캐시 색인을 삭제합니다.이 함수는 지원 중단된 setIndexConfiguration() 에서 생성된 색인도 삭제합니다. |
disablePersistentCacheIndexAutoCreation(indexManager)은 | 로컬 쿼리 실행을 위한 영구 캐시 색인 자동 생성을 중지합니다. enablePersistentCacheIndexAutoCreation() 를 호출하여 만든 색인은 계속 적용됩니다. |
enablePersistentCacheIndexAutoCreation(indexManager) | SDK에서 캐시 색인이 성능 개선에 도움이 될 수 있다고 판단하는 경우 SDK가 로컬 쿼리 실행을 위해 영구 캐시 색인을 자동으로 만들 수 있도록 사용 설정합니다.이 기능은 기본적으로 사용 중지되어 있습니다. |
함수(왼쪽, ...) | |
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, ...) | |
getAggregateFromServer(query, aggregateSpec) | 실제로 문서를 다운로드하지 않고 지정된 쿼리의 결과 집합에서 문서에 대해 지정된 집계를 계산합니다.이 함수를 사용하여 집계를 수행하면 효율적입니다. 문서의 다운로드되기 때문입니다. 이 함수는 결과 집합이 완전히 다운로드될 수 없을 정도로 큰 경우 (수천 개의 문서) 문서 집계를 수행할 수 있습니다.서버에서 수신한 결과는 로컬 상태를 고려하지 않고 변경되지 않은 상태로 표시됩니다. 즉, 로컬 캐시의 문서는 고려되지 않으며, 둘 다 아직 서버와 동기화되지 않은 로컬 수정도 고려되지 않습니다. 이전에 다운로드한 결과가 있는 경우 사용되지 않습니다. 이 함수를 호출할 때마다 반드시 서버까지 왕복해야 합니다. |
getCountFromServer(쿼리) | 문서를 실제로 다운로드하지 않고 지정된 쿼리의 결과 집합에서 문서 수를 계산합니다.이 함수를 사용하여 문서를 계산하는 것이 효율적입니다. 문서가 아닌 최종 개수만 계산되기 때문입니다. 데이터가 다운로드됩니다. 이 함수는 결과 집합이 전부 (수천 개의 문서) 다운로드할 수 없을 정도로 큰 경우 문서 수를 집계할 수 있습니다.서버에서 수신한 결과는 로컬 상태를 고려하지 않고 변경되지 않고 표시됩니다. 즉, 로컬 캐시의 문서는 고려되지 않으며, 둘 다 아직 서버와 동기화되지 않은 로컬 수정도 고려되지 않습니다. 이전에 다운로드한 결과가 있는 경우 사용되지 않습니다. 이 함수를 호출할 때마다 반드시 서버까지 왕복해야 합니다. |
getDocs(쿼리) | 쿼리를 실행하고 결과를 QuerySnapshot 로 반환합니다.참고: getDocs() 는 가능한 경우 서버에서 데이터를 대기하여 최신 데이터를 제공하려고 시도하지만, 오프라인 상태이고 서버에 연결할 수 없는 경우 캐시된 데이터를 반환하거나 실패할 수 있습니다. 이 동작을 지정하려면 getDocsFromCache() 또는 getDocsFromServer()를 호출합니다. |
getDocsFromCache(쿼리) | 쿼리를 실행하고 결과를 캐시에서 QuerySnapshot 로 반환합니다. 현재 쿼리와 일치하는 문서가 캐시된 문서가 없으면 빈 결과 집합을 반환합니다. |
getDocsFromServer(쿼리) | 쿼리를 실행하고 결과를 서버에서 QuerySnapshot 로 반환합니다. 네트워크를 사용할 수 없는 경우 오류가 반환됩니다. |
onSnapshot(query, 관찰자) | QuerySnapshot 이벤트의 리스너를 연결합니다. 개별 onNext 및 onError 콜백을 전달하거나 next 및 error 콜백으로 단일 관찰자 객체를 전달할 수 있습니다. 리스너는 onSnapshot 가 호출될 때 반환되는 함수를 호출하여 취소할 수 있습니다.참고: onCompletion 콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다. |
onSnapshot(query, options, 관찰자) | QuerySnapshot 이벤트의 리스너를 연결합니다. 개별 onNext 및 onError 콜백을 전달하거나 next 및 error 콜백으로 단일 관찰자 객체를 전달할 수 있습니다. 리스너는 onSnapshot 가 호출될 때 반환되는 함수를 호출하여 취소할 수 있습니다.참고: onCompletion 콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다. |
onSnapshot(query, onNext, onError, onFinished) | QuerySnapshot 이벤트의 리스너를 연결합니다. 개별 onNext 및 onError 콜백을 전달하거나 next 및 error 콜백으로 단일 관찰자 객체를 전달할 수 있습니다. 리스너는 onSnapshot 가 호출될 때 반환되는 함수를 호출하여 취소할 수 있습니다.참고: onCompletion 콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다. |
onSnapshot(query, options, onNext, onError, onFinished) | QuerySnapshot 이벤트의 리스너를 연결합니다. 개별 onNext 및 onError 콜백을 전달하거나 next 및 error 콜백으로 단일 관찰자 객체를 전달할 수 있습니다. 리스너는 onSnapshot 가 호출될 때 반환되는 함수를 호출하여 취소할 수 있습니다.참고: onCompletion 콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다. |
query(query, compositeFilter, queryConstraints) | 추가 쿼리 제약조건도 포함하도록 확장된 Query의 변경 불가능한 새 인스턴스를 만듭니다. |
query(query, queryConstraints) | 추가 쿼리 제약조건도 포함하도록 확장된 Query의 변경 불가능한 새 인스턴스를 만듭니다. |
function(queryConstraints, ...) | |
and(queryConstraints) | 지정된 필터 제약조건과 결합된 새 QueryCompositeFilterConstraint를 만듭니다. 접속사 필터는 지정된 필터를 모두 만족하는 문서를 포함합니다. |
or(queryConstraints) | 지정된 필터 제약 조건을 분리한 새 QueryCompositeFilterConstraint를 생성합니다. 분리 필터에는 지정된 필터 중 하나를 충족하는 문서가 포함됩니다. |
function(reference, ...) | |
addDoc(참조, 데이터) | 주어진 데이터로 지정된 CollectionReference 에 새 문서를 추가하여 문서 ID를 자동으로 할당합니다. |
collection(reference, path, pathSegments) | 지정된 상대 경로에 있는 reference 의 하위 컬렉션을 참조하는 CollectionReference 인스턴스를 가져옵니다. |
collection(reference, path, pathSegments) | 지정된 상대 경로에 있는 reference 의 하위 컬렉션을 참조하는 CollectionReference 인스턴스를 가져옵니다. |
deleteDoc(참조) | 지정된 DocumentReference 에서 참조한 문서를 삭제합니다. |
doc(참조, path, pathSegments) | 지정된 상대 경로에 있는 reference 내의 문서를 참조하는 DocumentReference 인스턴스를 가져옵니다. 경로를 지정하지 않으면 자동으로 생성된 고유 ID가 반환된 DocumentReference 에 사용됩니다. |
doc(참조, path, pathSegments) | 지정된 상대 경로에 있는 reference 내의 문서를 참조하는 DocumentReference 인스턴스를 가져옵니다. |
getDoc(참조) | 이 DocumentReference 에서 참조하는 문서를 읽습니다.참고: getDoc() 은(는) 가능한 경우 서버에서 데이터를 대기하여 최신 데이터를 제공하려고 시도하지만, 오프라인 상태이고 서버에 연결할 수 없는 경우 캐시된 데이터를 반환하거나 실패할 수 있습니다. 이 동작을 지정하려면 getDocFromCache() 또는 getDocFromServer()를 호출하세요. |
getDocFromCache(참조) | 이 DocumentReference 가 참조하는 문서를 캐시에서 읽습니다. 문서가 현재 캐시되지 않은 경우 오류를 반환합니다. |
getDocFromServer(참조) | 이 DocumentReference 가 참조한 문서를 서버에서 읽습니다. 네트워크를 사용할 수 없는 경우 오류가 반환됩니다. |
onSnapshot(reference, 관찰자) | DocumentSnapshot 이벤트의 리스너를 연결합니다. 개별 onNext 및 onError 콜백을 전달하거나 next 및 error 콜백을 사용하여 단일 관찰자 객체를 전달할 수 있습니다.참고: onCompletion 콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않으므로 호출되지 않습니다. |
onSnapshot(reference, options, 관찰자) | DocumentSnapshot 이벤트의 리스너를 연결합니다. 개별 onNext 및 onError 콜백을 전달하거나 next 및 error 콜백을 사용하여 단일 관찰자 객체를 전달할 수 있습니다.참고: onCompletion 콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않으므로 호출되지 않습니다. |
onSnapshot(reference, onNext, onError, onFinished) | DocumentSnapshot 이벤트의 리스너를 연결합니다. 개별 onNext 및 onError 콜백을 전달하거나 next 및 error 콜백을 사용하여 단일 관찰자 객체를 전달할 수 있습니다.참고: onCompletion 콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않으므로 호출되지 않습니다. |
onSnapshot(reference, options, onNext, onError, onFinished) | DocumentSnapshot 이벤트의 리스너를 연결합니다. 개별 onNext 및 onError 콜백을 전달하거나 next 및 error 콜백을 사용하여 단일 관찰자 객체를 전달할 수 있습니다.참고: onCompletion 콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않으므로 호출되지 않습니다. |
setDoc(참조, 데이터) | 이 DocumentReference 에서 참조하는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다. |
setDoc(reference, data, options) | 지정된 DocumentReference 에서 참조하는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다. merge 또는 mergeFields 를 제공하면 제공된 데이터를 기존 문서에 병합할 수 있습니다. |
updateDoc(참조, 데이터) | 지정된 DocumentReference 로 참조되는 문서의 필드를 업데이트합니다. 존재하지 않는 문서를 적용하면 업데이트가 실패합니다. |
updateDoc(reference, field, value, moreFieldsAndValues) | 지정된 DocumentReference 에서 참조하는 문서의 필드를 업데이트합니다. 존재하지 않는 문서에 적용하면 업데이트가 실패합니다.중첩된 필드는 점으로 구분된 필드 경로 문자열을 제공하거나 FieldPath 객체를 제공하여 업데이트할 수 있습니다. |
함수(설정, ...) | |
memoryLocalCache(settings) | MemoryLocalCache 의 인스턴스를 생성합니다. 인스턴스를 FirestoreSettings.cache 로 설정하여 사용할 캐시 레이어를 SDK에 알릴 수 있습니다. |
memoryLruGarbageCollector(설정) | MemoryLruGarbageCollector 의 인스턴스를 만듭니다.목표 크기는 설정 매개변수의 일부로 지정할 수 있습니다. 캐시 크기가 지정된 크기를 초과하면 수집기가 문서를 삭제하기 시작합니다. 기본 캐시 크기는 40MB (40 * 1024 * 1,024바이트)입니다. |
PersistentLocalCache(settings)를 | PersistentLocalCache 의 인스턴스를 생성합니다. 인스턴스를 FirestoreSettings.cache 로 설정하여 사용할 캐시 레이어를 SDK에 알릴 수 있습니다.Node.js 환경에서는 영구 캐시를 사용할 수 없습니다. |
PersistentSingleTabManager(settings) | PersistentSingleTabManager 의 인스턴스를 생성합니다. |
함수(스냅샷, ...) | |
endAt(스냅샷) | 결과 집합을 제공된 문서 (포함)에서 끝나도록 수정하는 QueryEndAtConstraint를 만듭니다. 종료 위치는 쿼리의 순서를 기준으로 합니다. 문서의 orderBy에 제공된 모든 필드가 문서에 포함되어야 합니다. |
endBefore(snapshot) | 제공된 문서보다 먼저 끝나도록 결과 집합을 수정하는 QueryEndAtConstraint를 만듭니다. 종료 위치는 쿼리의 순서를 기준으로 합니다. 문서의 orderBy에 제공된 모든 필드가 문서에 포함되어야 합니다. |
startAfter(snapshot) | 제공된 문서 (제외) 이후에 시작하도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 시작 위치는 쿼리의 순서를 기준으로 합니다. 문서의 orderBy에 제공된 모든 필드가 문서에 포함되어야 합니다. |
startAt(스냅샷) | 제공된 문서 (포함)에서 시작하도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 시작 위치는 쿼리의 순서를 기준으로 합니다. 문서는 이 쿼리의 orderBy 에 제공된 모든 필드를 포함해야 합니다. |
함수(값, ...) | |
벡터(값) | 지정된 숫자 배열의 사본으로 구성된 새 VectorValue 를 만듭니다. |
클래스
클래스 | 설명 |
---|---|
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]입니다. |
LoadBundleTask | Firestore 번들을 로드하는 작업을 나타냅니다. 번들 로드 진행 상황과 작업 완료 및 오류 이벤트를 제공합니다.API는 Promise<LoadBundleTaskProgress> 과 호환됩니다. |
PersistentCacheIndexManager | 로컬 쿼리 실행에 사용되는 영구 캐시 색인을 구성하기 위한 PersistentCacheIndexManager 입니다.사용하려면 getPersistentCacheIndexManager() 를 호출하여 인스턴스를 가져오세요. |
쿼리 | Query 는 읽거나 리슨할 수 있는 쿼리를 나타냅니다. 필터를 추가하고 순서를 지정하여 세분화된 Query 객체를 구성할 수도 있습니다. |
QueryCompositeFilterConstraint | QueryCompositeFilterConstraint 는 여러 QueryFieldFilterConstraint 또는 QueryCompositeFilterConstraint의 논리적 OR 또는 AND를 수행하여 Firestore 쿼리에서 반환하는 문서 집합의 범위를 좁히는 데 사용됩니다. QueryCompositeFilterConstraint 는 or() 또는 and()를 호출하여 만든 다음 query()에 전달되어 QueryCompositeFilterConstraint 도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다. |
쿼리 제약 조건 | QueryConstraint 은 Firestore 쿼리에서 반환하는 문서 집합의 범위를 좁히는 데 사용됩니다. QueryConstraint 는 where(), orderBy(), startAt(), startAfter(), endBefore(), endAt(), limit(), limitToLast()를 호출하여 생성되며 QueryConstraint limitToLast()를 포함하는 새 쿼리도 만들어 QueryConstraint query()에 전달할 수 있습니다. |
QueryDocumentSnapshot | QueryDocumentSnapshot 에는 Firestore 데이터베이스의 문서에서 읽은 데이터가 쿼리의 일부로 포함됩니다. 문서는 확실히 존재하며 .data() 또는 .get(<field>) 를 사용하여 데이터를 추출하여 특정 필드를 가져올 수 있습니다.QueryDocumentSnapshot 는 DocumentSnapshot 와 동일한 API 노출 영역을 제공합니다. 쿼리 결과에는 기존 문서만 포함되므로 exists 속성은 항상 true이고 data() 는 'undefined'를 반환하지 않습니다. |
QueryEndAtConstraint를 사용해야 합니다. | QueryEndAtConstraint 는 Firestore 쿼리에서 반환된 결과 집합의 끝에서 문서를 제외하는 데 사용됩니다. QueryEndAtConstraint 는 endAt() 또는 endBefore()를 호출하여 생성되며, 그런 다음 query()에 전달하여 이 QueryEndAtConstraint 도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다. |
QueryFieldFilterConstraint | QueryFieldFilterConstraint 는 하나 이상의 문서 필드를 필터링하여 Firestore 쿼리에서 반환되는 문서 집합의 범위를 좁히는 데 사용됩니다. QueryFieldFilterConstraint 는 where()를 호출하여 만든 다음 query()에 전달되어 이 QueryFieldFilterConstraint 도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다. |
QueryLimitConstraint | QueryLimitConstraint 는 Firestore 쿼리에서 반환하는 문서 수를 제한하는 데 사용됩니다. QueryLimitConstraint 는 limit() 또는 limitToLast()를 호출하여 생성되며, 그런 다음 query()에 전달하여 이 QueryLimitConstraint 도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다. |
QueryOrderByConstraint | QueryOrderByConstraint 는 Firestore 쿼리에서 반환된 문서 집합을 정렬하는 데 사용됩니다. QueryOrderByConstraint 는 orderBy()를 호출하여 생성되며 query()에 전달하여 이 QueryOrderByConstraint 도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다.참고: orderBy 필드가 포함되지 않은 문서는 쿼리 결과에 표시되지 않습니다. |
QuerySnapshot | QuerySnapshot 에는 쿼리 결과를 나타내는 DocumentSnapshot 객체가 0개 이상 포함됩니다. 문서는 docs 속성을 통해 배열로 액세스하거나 forEach 메서드를 사용하여 열거할 수 있습니다. 문서 수는 empty 및 size 속성을 통해 결정할 수 있습니다. |
QueryStartAtConstraint | QueryStartAtConstraint 은 Firestore 쿼리에서 반환된 결과 집합의 시작 부분에서 문서를 제외하는 데 사용됩니다. QueryStartAtConstraint 는 startAt() 또는 startAfter()를 호출하여 만든 후 query()에 전달하여 이 QueryStartAtConstraint 도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다. |
SnapshotMetadata | 스냅샷의 상태를 설명하는 스냅샷에 대한 메타데이터입니다. |
타임스탬프 | Timestamp 은 시간대 또는 캘린더와 무관한 특정 시점을 나타내며, UTC 에포크 시간으로 나노초 단위의 초와 초 단위로 표현됩니다.그레고리력을 1년 역방향으로 확장하는 그레고리력을 사용하여 인코딩됩니다. 인코딩 시 모든 분의 길이가 60초라고 가정합니다. 즉, 윤초는 '스미어(smear)' 처리되므로 해석을 위한 별도의 윤초 테이블이 필요하지 않습니다. 범위는 0001-01-01T00:00:00Z~9999-12-31T23:59:59.999999999Z입니다.예시 및 추가 사양은 타임스탬프 정의를 참조하세요. |
트랜잭션 | 트랜잭션의 참조입니다.트랜잭션의 updateFunction 에 전달되는 Transaction 객체는 트랜잭션 컨텍스트 내에서 데이터를 읽고 쓰는 메서드를 제공합니다. runTransaction()을 참조하세요. |
VectorValue | Firestore 문서의 벡터 유형을 나타냅니다. 로 인스턴스를 만듭니다 . 벡터 값 |
WriteBatch | 쓰기 일괄 처리로, 단일 원자 단위로 여러 쓰기를 수행하는 데 사용됩니다.WriteBatch 객체는 writeBatch()를 호출하여 가져올 수 있습니다. 쓰기 배치에 쓰기를 추가하는 메서드를 제공합니다. WriteBatch.commit()이 호출될 때까지 어떠한 쓰기도 커밋되거나 로컬에 표시되지 않습니다. |
인터페이스
인터페이스 | 설명 |
---|---|
AggregateSpec | 집계 집합 및 별칭을 지정합니다. |
문서 변경 | DocumentChange 는 쿼리와 일치하는 문서의 변경사항을 나타냅니다. 여기에는 영향을 받은 문서와 변경된 유형이 포함되어 있습니다. |
문서 데이터 | 문서 데이터 (setDoc()와 함께 사용)는 값에 매핑된 필드로 구성됩니다. |
ExperimentalLongPollingOptions(실험용롱폴링옵션) | 장기 폴링 사용 시 SDK의 기본 네트워크 전송 (WebChannel)을 구성하는 옵션입니다.참고: 이 인터페이스는 '실험용'입니다. 변경될 수 있으며 변경될 수 있습니다.FirestoreSettings.experimentalAutoDetectLongPolling , FirestoreSettings.experimentalForceLongPolling , FirestoreSettings.experimentalLongPollingOptions 을(를) 참조하세요. |
FirestoreDataConverter | withConverter() 에서 사용하는 변환기로, AppModelType 유형의 사용자 객체를 DbModelType 유형의 Firestore 데이터로 변환합니다.변환기를 사용하면 Firestore에서 객체를 저장하고 가져올 때 일반 유형 인수를 지정할 수 있습니다.여기서 'AppModel'은 는 애플리케이션에서 관련 정보와 기능을 함께 패키징하는 데 사용되는 클래스입니다. 이러한 클래스에는 복잡하고 중첩된 데이터 유형이 있는 속성, 메모에 사용되는 속성, Firestore에서 지원하지 않는 유형의 속성 (예: symbol 및 bigint ) 및 복합 작업을 수행하는 도우미 함수가 포함될 수 있습니다. 이러한 클래스는 Firestore 데이터베이스에 저장하기에 적합하지 않거나 저장할 수 없습니다. 대신 이러한 클래스의 인스턴스는 '기존 일반 JavaScript 객체'로 변환해야 합니다. (POJO) 원시 속성이 독점적으로 다른 POJO 또는 POJO 배열 내에 중첩될 가능성이 있습니다. 이 문맥에서는 이 유형을 'DbModel'이라고 합니다. Firestore에 유지하는 데 적합한 객체입니다. 편의를 위해 애플리케이션은 FirestoreDataConverter 를 구현하고 DocumentReference 또는 Query 와 같은 Firestore 객체에 변환기를 등록하여 Firestore에 저장할 때 AppModel 를 DbModel 로 자동 변환하고 Firestore에서 검색할 때 DbModel 를 AppModel 로 변환할 수 있습니다. |
Firestore 설정 | Cloud Firestore 인스턴스의 커스텀 구성을 지정합니다. 다른 메서드를 호출하기 전에 이를 설정해야 합니다. |
색인 | (베타) Firestore 색인의 SDK 정의입니다. |
IndexConfiguration | (베타) 로컬 쿼리 실행 속도를 높이기 위한 Firestore 색인의 목록입니다.색인 정의 형식에 대한 설명은 JSON 형식을 참조하세요. |
색인 필드 | (베타) 색인 구성의 단일 필드 요소입니다. |
LoadBundleTaskProgress | 번들 로드의 진행 상황 업데이트 또는 최종 상태를 나타냅니다. |
MemoryCacheSettings | MemoryLocalCache 인스턴스를 구성하기 위한 설정 객체 |
MemoryEagerGarbageCollector | 가비지 컬렉터는 문서가 활성 쿼리에 포함되어 있지 않고 문서에 연결된 로컬 변형이 없을 때마다 문서를 삭제합니다.이 컬렉터는 오프라인 쿼리 또는 캐시에 대한 직접 쿼리에 대해 문서가 캐시되지 않을 위험이 있지만 SDK에서 가장 적은 메모리 공간을 확보하려고 합니다.팩토리 함수를 사용하여 이 수집기의 인스턴스를 만듭니다. |
MemoryLocalCache | SDK에 메모리 내 캐시를 제공합니다. 명시적으로 달리 구성되지 않는 한 기본 캐시입니다.사용하려면 공장 출고 시 함수를 사용하여 인스턴스를 생성한 다음 인스턴스를 FirestoreSettings.cache 로 설정하고 설정 객체를 사용하여 initializeFirestore 를 호출합니다. |
MemoryLruGarbageCollector | 가비지 컬렉터는 가장 적게 사용된 문서를 여러 배치로 삭제합니다.이 수집기는 대상 크기로 구성되며 캐시된 문서가 대상 크기를 초과하는 경우에만 수집을 수행합니다. 동일한 쿼리 또는 문서에 대해 반복되는 백엔드를 쿼리하지 않으므로 메모리 사용량이 증가할 수 있습니다.팩토리 함수를 사용하여 이 컬렉터의 인스턴스를 만드세요. |
지속성 설정 | Firestore 지속성을 구성하기 위해 enableIndexedDbPersistence() 에 전달할 수 있는 설정입니다.Node.js 환경에서는 지속성을 사용할 수 없습니다. |
PersistentCacheSettings | PersistentLocalCache 인스턴스를 구성하는 설정 객체입니다.영구 캐시는 Node.js 환경에서 사용할 수 없습니다. |
PersistentLocalCache | SDK에 IndexedDb로 지원되는 영구 캐시를 제공합니다.사용하려면 팩토리 함수를 사용하여 인스턴스를 만든 다음 인스턴스를 FirestoreSettings.cache 로 설정하고 설정 객체를 사용하여 initializeFirestore 를 호출합니다. |
PersistentMultipleTabManager | 여러 탭을 지원하는 탭 관리자 SDK는 SDK를 사용하는 모든 탭에서 실행된 쿼리와 변형을 동기화합니다. |
PersistentSingleTabManager | 탭 관리자는 하나의 탭만 지원하며 탭 간에 동기화가 실행되지 않습니다. |
PersistentSingleTabManagerSettings | 입력하여 PersistentSingleTabManager 인스턴스를 구성합니다. |
SnapshotListenOptions | onSnapshot() 및 QuerySnapshot.docChanges()에 전달하여 결과 집합에 포함할 변경 유형을 제어할 수 있는 옵션 객체입니다. |
SnapshotOptions | DocumentSnapshot 에서 데이터를 가져오는 방법을 구성하는 옵션입니다 (예: 아직 최종 값으로 설정되지 않은 서버 타임스탬프에 원하는 동작). |
TransactionOptions | 거래 동작을 맞춤설정하는 옵션입니다. |
수신 거부 | 호출 시 리스너를 삭제하는 onSnapshot() 에서 반환된 함수입니다. |
변수
변수 | 설명 |
---|---|
CACHE_SIZE_UNLIMITED | LRU 가비지 컬렉션을 사용 중지해야 함을 나타내는 데 사용되는 상수입니다. 이 값을 Firestore 인스턴스에 전달된 설정에서 cacheSizeBytes 로 설정합니다. |
유형 별칭
별칭 입력 | 설명 |
---|---|
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 |
문서 변경 유형 | DocumentChange 의 유형은 '추가됨', '삭제됨' 또는 '수정됨'일 수 있습니다. |
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': 요청에 작업에 대한 올바른 사용자 인증 정보가 없습니다. |
FirestoreLocalCache | 지원되는 모든 SDK 캐시 레이어의 Union 유형입니다. |
ListenSource | 쿼리가 리슨하는 소스를 설명합니다.캐시와 서버 변경사항을 모두 리슨하려면 default 로 설정합니다. 캐시의 변경사항만 수신 대기하려면 cache 로 설정합니다. |
MemoryGarbageCollector | 메모리 로컬 캐시에 대한 모든 지원 가비지 컬렉터의 Union 유형입니다. |
중첩된 업데이트 필드 | 각 필드 (예: 'bar')에 대해 모든 중첩된 키 (예: {'bar.baz': T1, 'bar.qux': T2})를 찾습니다. 이를 함께 교차하여 모두 선택사항으로 표시된 가능한 모든 키를 포함하는 단일 맵을 만듭니다. |
OrderByDirection | orderBy() 절의 방향은 'desc'로 지정됩니다. 또는 'asc' (내림차순 또는 오름차순) |
PartialWithFieldValue가 포함되어 있습니다. | TypeScript의 Partial<T> 와 비슷하지만 중첩된 필드를 생략하고 FieldValue를 속성 값으로 전달할 수 있습니다. |
PersistentTabManager | 사용 가능한 모든 탭 관리자의 집합입니다. |
원시 | 기본 유형 |
QueryConstraintType | 이 SDK에서 사용할 수 있는 다양한 쿼리 제약조건을 설명합니다. |
QueryFilterConstraint | QueryFilterConstraint 는 QueryFieldFilterConstraint 및 QueryCompositeFilterConstraint를 나타내는 도우미 공용체 유형입니다. |
쿼리 중 필터 제약 조건 | QueryNonFilterConstraint 는 문서 집합의 범위를 좁히거나 정렬하는 데 사용되지만 문서 필드를 명시적으로 필터링하지 않는 QueryConstraints를 나타내는 도우미 공용체 유형입니다. QueryNonFilterConstraint 는 orderBy(), startAt(), startAfter(), endBefore(), endAt(), limit() 또는 limitToLast()를 호출하여 생성되며 query()에 전달하여 query()도 포함하는 새 쿼리 인스턴스를 만들 수 있습니다. QueryConstraint |
SetOptions | setDoc()의 동작과 호출을 구성하는 옵션 객체입니다. 이러한 호출은 SetOptions 에 merge: true 를 제공하여 대상 문서 전체를 덮어쓰는 대신 세분화된 병합을 수행하도록 구성할 수 있습니다. |
TaskState | 번들 로드 작업의 상태를 나타냅니다.둘 다 '오류'입니다. 'Success'를 선택합니다. 작업이 취소 또는 완료되고 보고된 후 더 이상 업데이트가 없는 싱크 상태입니다. |
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() 절의 필터 조건은 '<', '<=', '==', '!=', '>=', '>', 'array-contains', 'in', 'array-contains-any', 'not-in' 문자열을 사용하여 지정됩니다. |
필드 값 포함 | 유형 안전성을 유지하면서 FieldValues를 속성 값으로 전달할 수 있습니다. |
함수(앱, ...)
getFirestore(앱)
제공된 FirebaseApp과 연결된 기존의 기본 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.
서명:
export declare function getFirestore(app: FirebaseApp): Firestore;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
앱 | Firebase 앱 | 반환된 Firestore 인스턴스와 연결된 FirebaseApp 인스턴스입니다. |
반환:
제공된 앱의 기본 Firestore 인스턴스
getFirestore(app, databaseId)
이 API는 개발자를 위한 미리보기로 제공되며 Google에 접수된 의견에 따라 변경될 수 있습니다. 프로덕션 환경에서는 이 API를 사용하지 마세요.
제공된 FirebaseApp과 연결된 기존 이름이 지정된 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.
서명:
export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
앱 | Firebase 앱 | 반환된 Firestore 인스턴스와 연결된 FirebaseApp 인스턴스입니다. |
데이터베이스 ID | 문자열 | 데이터베이스의 이름입니다. |
반환:
제공된 앱의 이름이 지정된 Firestore 인스턴스
Firestore(앱, 설정, 데이터베이스 ID)
제공된 설정으로 Firestore의 새 인스턴스를 초기화합니다. getFirestore()를 포함한 다른 함수보다 먼저 호출할 수 있습니다. 커스텀 설정이 비어 있으면 이 함수는 getFirestore()를 호출하는 것과 같습니다.
서명:
export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings, databaseId?: string): Firestore;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
앱 | Firebase 앱 | Firestore 인스턴스와 연결될 FirebaseApp입니다. |
설정 | Firestore 설정 | Firestore 인스턴스를 구성하기 위한 설정 객체 |
데이터베이스 ID | 문자열 | 데이터베이스의 이름입니다. |
반환:
새로 초기화된 Firestore 인스턴스
function(firestore, ...)
clearIndexedDbPersistence(firestore)
영구 저장소를 지웁니다. 여기에는 대기 중인 쓰기와 캐시된 문서가 포함됩니다.
Firestore 인스턴스가 시작되지 않은 경우 (앱이 종료된 후 또는 앱이 처음 초기화된 후) 호출해야 합니다. 시작 시 이 함수는 다른 함수보다 먼저 호출해야 합니다 (initialFirestore() 또는 getFirestore() 제외). Firestore 인스턴스가 아직 실행 중인 경우 프로미스가 거부되고 오류 코드는 failed-precondition
입니다.
서명:
export declare function clearIndexedDbPersistence(firestore: Firestore): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore | 지속성을 지울 Firestore 인스턴스 |
반환:
프로미스<void>
영구 저장소가 삭제될 때 결정되는 Promise
입니다. 그렇지 않으면 프로미스가 오류와 함께 거부됩니다.
컬렉션(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
disableNetwork(firestore)
이 인스턴스의 네트워크 사용량을 사용 중지합니다. enableNetwork()를 통해 다시 사용 설정할 수 있습니다. 네트워크가 사용 중지된 동안에는 모든 스냅샷 리스너, getDoc()
또는 getDocs()
호출이 캐시에서 결과를 반환하고 네트워크가 복원될 때까지 모든 쓰기 작업이 큐에 추가됩니다.
서명:
export declare function disableNetwork(firestore: Firestore): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore |
반환:
프로미스<void>
네트워크가 사용 중지되면 결정되는 Promise
입니다.
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
인스턴스
예외
최종 경로의 세그먼트가 홀수이고 문서를 가리키지 않는 경우
enableIndexedDbPersistence(firestore, persistentSettings)
<ph type="x-smartling-placeholder"></ph>이 함수는 향후 주요 버전에서 삭제될 예정입니다. 대신
FirestoreSettings.localCache
를PersistentLocalCache
의 인스턴스로 설정하여 IndexedDb 캐시를 사용 설정하세요.FirestoreSettings.localCache
가 이미 지정되었을 때 이 함수를 호출하면 예외가 발생합니다.
가능한 경우 영구 스토리지를 사용 설정합니다.
실패하면 enableIndexedDbPersistence()
가 프로미스를 거부하거나 예외를 발생시킵니다. 실패하는 이유는 여러 가지가 있으며 오류의 code
에서 확인할 수 있습니다.
* failed-precondition: 앱이 이미 다른 브라우저 탭에서 열려 있습니다. * 구현되지 않음: 브라우저가 오프라인 지속성 구현과 호환되지 않습니다.
장애가 발생한 후에도 Firestore 인스턴스는 사용 가능한 상태로 유지되지만 오프라인 지속성은 사용 중지됩니다.
Node.js 환경에서는 지속성을 사용할 수 없습니다.
서명:
export declare function enableIndexedDbPersistence(firestore: Firestore, persistenceSettings?: PersistenceSettings): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore | 지속성을 사용 설정할 Firestore 인스턴스 |
지속성 설정 | 지속성 설정 | 지속성을 구성하는 설정 객체(선택사항) |
반환:
프로미스<void>
영구 스토리지의 성공적인 사용 설정을 나타내는 Promise
입니다.
enableMultiTabIndexedDbPersistence(firestore)
<ph type="x-smartling-placeholder"></ph>이 함수는 향후 주요 버전에서 삭제될 예정입니다. 대신
FirestoreSettings.localCache
를PersistentLocalCache
의 인스턴스로 설정하여 indexdb 캐시를 사용 설정하세요.FirestoreSettings.localCache
가 이미 지정되었을 때 이 함수를 호출하면 예외가 발생합니다.
가능한 경우 멀티탭 영구 저장소를 사용 설정합니다. 모든 탭에서 사용 설정되면 연결된 모든 인스턴스에서 지연 시간을 보상하는 로컬 문서 업데이트 및 쿼리의 공유 실행 등 모든 작업이 로컬 지속성에 대한 액세스를 공유합니다.
실패하면 enableMultiTabIndexedDbPersistence()
가 프로미스를 거부하거나 예외를 발생시킵니다. 실패하는 이유는 여러 가지가 있으며 오류의 code
에서 확인할 수 있습니다.
* failed-precondition: 앱이 이미 다른 브라우저 탭에서 열려 있고 다중 탭이 사용 설정되어 있지 않습니다. * 구현되지 않음: 브라우저가 오프라인 지속성 구현과 호환되지 않습니다.
장애가 발생한 후에도 Firestore 인스턴스는 사용 가능한 상태로 유지되지만 오프라인 지속성은 사용 중지됩니다.
서명:
export declare function enableMultiTabIndexedDbPersistence(firestore: Firestore): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore | 지속성을 사용 설정할 Firestore 인스턴스 |
반환:
프로미스<void>
영구 스토리지의 성공적인 사용 설정을 나타내는 Promise
입니다.
enableNetwork(firestore)
이전에 disableNetwork()를 호출한 후 이 Firestore 인스턴스의 네트워크 사용을 다시 사용 설정합니다.
서명:
export declare function enableNetwork(firestore: Firestore): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore |
반환:
프로미스<void>
네트워크가 사용 설정되면 확인되는 Promise
입니다.
getPersistentCacheIndexManager(firestore)
지정된 Firestore
객체에서 사용하는 PersistentCache 색인 관리자를 반환합니다.
PersistentCacheIndexManager
인스턴스 또는 로컬 영구 스토리지를 사용하지 않는 경우 null
서명:
export declare function getPersistentCacheIndexManager(firestore: Firestore): PersistentCacheIndexManager | null;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore |
반환:
PersistentCacheIndexManager | 없음
loadBundle(firestore, bundleData)
Firestore 번들을 로컬 캐시에 로드합니다.
서명:
export declare function loadBundle(firestore: Firestore, bundleData: ReadableStream<Uint8Array> | ArrayBuffer | string): LoadBundleTask;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore | 번들을 로드할 Firestore 인스턴스 |
번들 데이터 | ReadableStream<Uint8Array> | 배열 버퍼 | 문자열 | 로드할 번들을 나타내는 객체입니다. 유효한 객체는 ArrayBuffer , ReadableStream<Uint8Array> 또는 string 입니다. |
반환:
LoadBundleTask
객체: 호출자에게 진행률 업데이트, 완료 또는 오류 이벤트를 알립니다. Promise<LoadBundleTaskProgress>
로 사용할 수 있습니다.
nameQuery(firestore, name)
지정된 이름으로 식별된 로컬 캐시에서 Firestore Query를 읽습니다.
이름이 지정된 쿼리는 결과 문서와 함께 서버 측 번들로 패키징되며 loadBundle
를 사용하여 로컬 캐시에 로드됩니다. 로컬 캐시에 있으면 이 메서드를 사용하여 이름으로 Query를 추출합니다.
서명:
export declare function namedQuery(firestore: Firestore, name: string): Promise<Query | null>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore | 쿼리를 읽을 Firestore 인스턴스 |
name | 문자열 | 쿼리 이름입니다. |
반환:
Promise<Query | null>
쿼리 또는 null
로 확인되는 Promise
입니다.
onSnapshotsInSync(firestore, 관찰자)
Metrics-in-sync 이벤트의 리스너를 연결합니다. Snapshot-in-sync 이벤트는 서버에서 생성된 단일 변경사항이 여러 리스너에 영향을 미치더라도 지정된 변경의 영향을 받은 모든 리스너가 실행되었음을 나타냅니다.
참고: 스냅샷 동기화 이벤트는 리스너가 서로 동기화되었음을 나타낼 뿐이며, 해당 스냅샷이 서버와 동기화되었는지와는 관계가 없습니다. 개별 리스너에서 SnapshotMetadata를 사용하여 스냅샷이 캐시에서 전송된 것인지, 서버에서 가져온 것인지 확인합니다.
서명:
export declare function onSnapshotsInSync(firestore: Firestore, observer: {
next?: (value: void) => void;
error?: (error: FirestoreError) => void;
complete?: () => void;
}): Unsubscribe;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore | 스냅샷 동기화를 위한 Firestore 인스턴스 |
관찰자 | { 다음?: (값: void) => 무효 오류?: (오류: FirestoreError) => 무효 완료 여부: () => 무효 } | next 및 error 콜백을 포함하는 단일 객체입니다. |
반환:
스냅샷 리스너를 취소하기 위해 호출할 수 있는 구독 해제 함수입니다.
onSnapshotsInSync(firestore, onSync)
Metrics-in-sync 이벤트의 리스너를 연결합니다. Snapshot-in-sync 이벤트는 서버에서 생성된 단일 변경사항이 여러 리스너에 영향을 미치더라도 지정된 변경의 영향을 받은 모든 리스너가 실행되었음을 나타냅니다.
참고: 스냅샷 동기화 이벤트는 리스너가 서로 동기화되었음을 나타낼 뿐이며, 해당 스냅샷이 서버와 동기화되었는지와는 관계가 없습니다. 개별 리스너에서 SnapshotMetadata
를 사용하여 스냅샷의 출처가 캐시인지, 서버인지 확인합니다.
서명:
export declare function onSnapshotsInSync(firestore: Firestore, onSync: () => void): Unsubscribe;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore | 스냅샷 동기화를 위한 Firestore 인스턴스 |
onSync | () => 무효 | 모든 스냅샷 리스너가 서로 동기화될 때마다 호출되는 콜백입니다. |
반환:
스냅샷 리스너를 취소하기 위해 호출할 수 있는 구독 해제 함수입니다.
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
에서 반환된 프로미스가 여기에 반환됩니다. 그렇지 않고 트랜잭션이 실패하면 거부된 프로미스와 해당 실패 오류가 반환됩니다.
setIndexConfiguration(firestore, 구성)
를 통해 개인정보처리방침을 정의할 수 있습니다. <ph type="x-smartling-placeholder">이 API는 개발자를 위한 미리보기로 제공되며 Google에 접수된 의견에 따라 변경될 수 있습니다. 프로덕션 환경에서는 이 API를 사용하지 마세요.
</ph>캐시 색인을 수동으로 만드는 대신
enablePersistentCacheIndexAutoCreation()
를 사용하여 SDK에서 로컬에서 실행되는 쿼리의 캐시 색인을 만들지 여부를 결정하도록 하는 것이 좋습니다.
로컬 쿼리 실행의 색인 생성을 구성합니다. 이전 색인 구성이 재정의됩니다. Promise
는 색인 구성이 유지되면 확인됩니다.
색인 항목 자체는 비동기식으로 생성됩니다. 색인을 아직 사용할 수 없더라도 색인 생성이 필요한 쿼리는 계속 사용할 수 있습니다. 색인 항목이 기록되면 쿼리 실행이 자동으로 색인을 사용하기 시작합니다.
색인은 IndexedDb 지속성으로만 지원됩니다. IndexedDb가 사용 설정되지 않은 경우 색인 구성이 무시됩니다.
서명:
export declare function setIndexConfiguration(firestore: Firestore, configuration: IndexConfiguration): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore | 색인을 구성할 Firestore 인스턴스 |
구성 | IndexConfiguration | 색인 정의입니다. |
반환:
프로미스<void>
모든 색인이 성공적으로 구성되면 확인되는 Promise
예외
JSON 형식이 잘못된 경우 FirestoreError
setIndexConfiguration(firestore, json)
를 통해 개인정보처리방침을 정의할 수 있습니다. <ph type="x-smartling-placeholder">이 API는 개발자를 위한 미리보기로 제공되며 Google에 접수된 의견에 따라 변경될 수 있습니다. 프로덕션 환경에서는 이 API를 사용하지 마세요.
</ph>캐시 색인을 수동으로 만드는 대신
enablePersistentCacheIndexAutoCreation()
를 사용하여 SDK에서 로컬에서 실행되는 쿼리의 캐시 색인을 만들지 여부를 결정하도록 하는 것이 좋습니다.
로컬 쿼리 실행의 색인 생성을 구성합니다. 이전 색인 구성이 재정의됩니다. Promise
는 색인 구성이 유지되면 확인됩니다.
색인 항목 자체는 비동기식으로 생성됩니다. 색인을 아직 사용할 수 없더라도 색인 생성이 필요한 쿼리는 계속 사용할 수 있습니다. 색인 항목이 기록되면 쿼리 실행이 자동으로 색인을 사용하기 시작합니다.
색인은 IndexedDb 지속성으로만 지원됩니다. 색인 구성을 설정하기 전에 enableIndexedDbPersistence()
또는 enableMultiTabIndexedDbPersistence()
를 호출합니다. IndexedDb가 사용 설정되지 않은 경우 색인 구성이 무시됩니다.
이 메서드는 Firebase CLI (firebase firestore:indexes
)에서 내보낸 JSON 형식을 허용합니다. JSON 형식이 유효하지 않으면 이 메서드에서 오류가 발생합니다.
서명:
export declare function setIndexConfiguration(firestore: Firestore, json: string): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore | 색인을 구성할 Firestore 인스턴스 |
json | 문자열 | Firebase CLI에서 내보낸 JSON 형식입니다. |
반환:
프로미스<void>
모든 색인이 성공적으로 구성되면 확인되는 Promise
예외
JSON 형식이 잘못된 경우 FirestoreError
종료(firestore)
제공된 Firestore 인스턴스를 종료합니다.
terminate()
를 호출한 후에는 clearIndexedDbPersistence()
함수만 사용할 수 있습니다. 다른 모든 함수는 FirestoreError
을 발생시킵니다.
종료 후 다시 시작하려면 getFirestore()를 사용하여 FirebaseFirestore의 새 인스턴스를 만듭니다.
종료해도 대기 중인 쓰기가 취소되지 않으며 서버의 응답을 대기 중인 프로미스는 확인되지 않습니다. 지속성을 사용 설정하면 다음에 이 인스턴스를 시작할 때 서버에 이러한 쓰기 작업이 다시 전송됩니다.
서명:
export declare function terminate(firestore: Firestore): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore |
반환:
프로미스<void>
인스턴스가 성공적으로 종료되었을 때 결정되는 Promise
입니다.
waitForPendingWrites(firestore)
활성 사용자의 현재 대기 중인 모든 쓰기가 백엔드에서 확인할 때까지 대기합니다.
처리되지 않은 쓰기가 없으면 반환된 프로미스가 즉시 확인됩니다. 그 외의 경우 프로미스는 이전에 발생한 모든 쓰기 (이전 앱 세션에서 작성된 쓰기 포함)를 기다리지만 함수가 호출된 후에 추가된 쓰기는 기다리지 않습니다. 추가 쓰기를 기다리려면 waitForPendingWrites()
를 다시 호출합니다.
처리되지 않은 waitForPendingWrites()
프로미스는 사용자 변경 중에 거부됩니다.
서명:
export declare function waitForPendingWrites(firestore: Firestore): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore |
반환:
프로미스<void>
현재 대기 중인 모든 쓰기가 백엔드에서 확인한 경우 확인하는 Promise
입니다.
writeBatch(firestore)
단일 원자적 작업으로 여러 쓰기를 수행하는 데 사용되는 쓰기 배치를 만듭니다. 단일 WriteBatch에 허용되는 최대 쓰기 수는 500개입니다.
트랜잭션과 달리 쓰기 배치는 오프라인으로 유지되므로 읽기 데이터에 쓰기를 컨디셔닝할 필요가 없는 경우에 권장됩니다.
서명:
export declare function writeBatch(firestore: Firestore): WriteBatch;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
firestore | Firestore |
반환:
여러 쓰기를 원자적으로 실행하는 데 사용할 수 있는 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;
반환:
Firestore getFirestore()
기본 FirebaseApp에 연결된 기존의 기본 Firestore 인스턴스를 반환합니다. 인스턴스가 없으면 기본 설정으로 새 인스턴스를 초기화합니다.
서명:
export declare function getFirestore(): Firestore;
반환:
기본 앱의 기본 Firestore 인스턴스
메모리 EagerGarbageCollector()
MemoryEagerGarbageCollector
의 인스턴스를 생성합니다. 명시적으로 달리 지정되지 않는 한 기본 가비지 컬렉터이기도 합니다.
서명:
export declare function memoryEagerGarbageCollector(): MemoryEagerGarbageCollector;
반환:
PersistentMultipleTabManager()
PersistentMultipleTabManager
의 인스턴스를 생성합니다.
서명:
export declare function persistentMultipleTabManager(): PersistentMultipleTabManager;
반환:
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 인스턴스
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입니다.
where(fieldPath, opStr, value)
문서에 지정된 필드가 포함되어야 하고 값이 제공된 관계 제약 조건을 충족해야 하도록 적용하는 QueryFieldFilterConstraint를 만듭니다.
서명:
export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
fieldPath | 문자열 | FieldPath | 비교할 경로 |
opStr | WHEREFilterOp | 연산 문자열입니다 (예: "<", "<=", "==", "<", "<=", "!="). |
값 | 알 수 없음 | 비교 값 |
반환:
생성된 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;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
필드 값 | 알 수 없음[] | 이 쿼리를 시작할 필드 값이며, 쿼리 정렬 기준입니다. |
반환:
query()
에 전달할 QueryStartAtConstraint
startAt(fieldValues)
쿼리 순서에 따라 제공된 필드에서 시작되도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 필드 값의 순서는 쿼리의 절 기준 순서와 일치해야 합니다.
서명:
export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
필드 값 | 알 수 없음[] | 쿼리의 정렬 기준으로 이 쿼리를 시작할 필드 값입니다. |
반환:
query()
에 전달할 QueryStartAtConstraint입니다.
function(indexManager, ...)
deleteAllPersistentCacheIndexes(indexManager)
모든 영구 캐시 색인을 삭제합니다.
이 함수는 지원 중단된 setIndexConfiguration()
에서 생성된 색인도 삭제합니다.
서명:
export declare function deleteAllPersistentCacheIndexes(indexManager: PersistentCacheIndexManager): void;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
indexManager | PersistentCacheIndexManager |
반환:
void
disablePersistentCacheIndexAutoCreation(indexManager)을 사용합니다.
로컬 쿼리 실행을 위한 영구 캐시 색인 자동 생성을 중지합니다. enablePersistentCacheIndexAutoCreation()
를 호출하여 만든 색인은 계속 적용됩니다.
서명:
export declare function disablePersistentCacheIndexAutoCreation(indexManager: PersistentCacheIndexManager): void;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
indexManager | PersistentCacheIndexManager |
반환:
void
enablePersistentCacheIndexAutoCreation(indexManager)
SDK에서 캐시 색인이 성능 개선에 도움이 될 수 있다고 판단하는 경우 SDK가 로컬 쿼리 실행을 위해 영구 캐시 색인을 자동으로 만들 수 있도록 사용 설정합니다.
이 기능은 기본적으로 사용 중지되어 있습니다.
서명:
export declare function enablePersistentCacheIndexAutoCreation(indexManager: PersistentCacheIndexManager): void;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
indexManager | PersistentCacheIndexManager |
반환:
void
함수(왼쪽, ...)
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입니다.
limitToLast(limit)
마지막으로 일치하는 문서만 반환하는 QueryLimitConstraint를 만듭니다.
limitToLast
쿼리에 orderBy
절을 하나 이상 지정해야 합니다. 그러지 않으면 실행 중에 예외가 발생합니다.
서명:
export declare function limitToLast(limit: number): QueryLimitConstraint;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
제한 | 숫자 | 반환할 최대 항목 수입니다. |
반환:
생성된 QueryLimitConstraint입니다.
function(logLevel, ...)
setLogLevel(logLevel)
Cloud Firestore 로그의 세부정보 수준 (디버그, 오류, 자동)을 설정합니다.
서명:
export declare function setLogLevel(logLevel: LogLevel): void;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
logLevel | LogLevel | 활동 및 오류 로깅에 설정한 세부정보 수준입니다. 다음 값 중 하나일 수 있습니다.
|
반환:
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, ...)
getAggregateFromServer(query, aggregateSpec)
문서를 실제로 다운로드하지 않고 지정된 쿼리의 결과 집합에서 문서에 대해 지정된 집계를 계산합니다.
이 함수를 사용하여 집계를 수행하는 것이 효율적입니다. 문서의 다운로드되기 때문입니다. 이 함수는 결과 집합이 너무 커서 전부 다운로드할 수 없는 경우 (수천 개의 문서) 문서의 집계를 수행할 수 있습니다.
서버에서 수신한 결과는 로컬 상태를 고려하지 않고 변경되지 않은 상태로 제공됩니다. 즉, 로컬 캐시의 문서는 고려되지 않으며, 둘 다 아직 서버와 동기화되지 않은 로컬 수정도 고려되지 않습니다. 이전에 다운로드한 결과가 있는 경우 사용되지 않습니다. 이 함수를 호출할 때마다 반드시 서버까지 왕복해야 합니다.
서명:
export declare function getAggregateFromServer<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 getAggregateFromServer(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;
getCountFromServer(쿼리)
문서를 실제로 다운로드하지 않고 지정된 쿼리의 결과 집합에 있는 문서 수를 계산합니다.
이 함수를 사용하여 문서를 계산하는 것은 문서의 최종 개수만 계산하고 데이터가 다운로드됩니다. 이 함수는 결과 집합이 너무 커서 완전히 다운로드할 수 없는 경우 (수천 개의 문서) 문서 수를 계산할 수 있습니다.
서버에서 수신한 결과는 로컬 상태를 고려하지 않고 변경되지 않은 상태로 제공됩니다. 즉, 로컬 캐시의 문서는 고려되지 않으며, 둘 다 아직 서버와 동기화되지 않은 로컬 수정도 고려되지 않습니다. 이전에 다운로드한 결과가 있는 경우 사용되지 않습니다. 이 함수를 호출할 때마다 반드시 서버까지 왕복해야 합니다.
서명:
export declare function getCountFromServer<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
로 반환합니다.
서명:
export declare function getDocs<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
쿼리 | 쿼리<AppModelType, DBMModelType> |
반환:
프로미스<QuerySnapshot<AppModelType, DBMModelType>>
쿼리 결과로 확인될 Promise
입니다.
getDocsFromCache(쿼리)
쿼리를 실행하고 결과를 캐시에서 QuerySnapshot
로 반환합니다. 현재 쿼리와 일치하는 문서가 캐시된 문서가 없으면 빈 결과 집합을 반환합니다.
서명:
export declare function getDocsFromCache<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
쿼리 | 쿼리<AppModelType, DBMModelType> |
반환:
프로미스<QuerySnapshot<AppModelType, DBMModelType>>
쿼리 결과로 확인될 Promise
입니다.
getDocsFromServer(쿼리)
쿼리를 실행하고 결과를 서버에서 QuerySnapshot
로 반환합니다. 네트워크를 사용할 수 없는 경우 오류가 반환됩니다.
서명:
export declare function getDocsFromServer<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
쿼리 | 쿼리<AppModelType, DBMModelType> |
반환:
프로미스<QuerySnapshot<AppModelType, DBMModelType>>
쿼리 결과로 확인될 Promise
입니다.
onSnapshot(쿼리, 관찰자)
QuerySnapshot
이벤트의 리스너를 연결합니다. 개별 onNext
및 onError
콜백을 전달하거나 next
및 error
콜백으로 단일 관찰자 객체를 전달할 수 있습니다. onSnapshot
가 호출될 때 반환되는 함수를 호출하여 리스너를 취소할 수 있습니다.
참고: onCompletion
콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다.
서명:
export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, observer: {
next?: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void;
error?: (error: FirestoreError) => void;
complete?: () => void;
}): Unsubscribe;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
쿼리 | 쿼리<AppModelType, DBMModelType> | 수신 대기할 쿼리입니다. |
관찰자 | { 다음?: (스냅샷: QuerySnapshot<AppModelType, DBMModelType>) => 무효 오류?: (오류: FirestoreError) => 무효 완료 여부: () => 무효 } | next 및 error 콜백을 포함하는 단일 객체입니다. |
반환:
스냅샷 리스너를 취소하기 위해 호출할 수 있는 구독 해제 함수입니다.
onSnapshot(쿼리, 옵션, 관찰자)
QuerySnapshot
이벤트의 리스너를 연결합니다. 개별 onNext
및 onError
콜백을 전달하거나 next
및 error
콜백으로 단일 관찰자 객체를 전달할 수 있습니다. onSnapshot
가 호출될 때 반환되는 함수를 호출하여 리스너를 취소할 수 있습니다.
참고: onCompletion
콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다.
서명:
export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, options: SnapshotListenOptions, observer: {
next?: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void;
error?: (error: FirestoreError) => void;
complete?: () => void;
}): Unsubscribe;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
쿼리 | 쿼리<AppModelType, DBMModelType> | 수신 대기할 쿼리입니다. |
옵션 | SnapshotListenOptions | 수신 대기 동작을 제어하는 옵션입니다. |
관찰자 | { 다음?: (스냅샷: QuerySnapshot<AppModelType, DBMModelType>) => 무효 오류?: (오류: FirestoreError) => 무효 완료 여부: () => 무효 } | next 및 error 콜백을 포함하는 단일 객체입니다. |
반환:
스냅샷 리스너를 취소하기 위해 호출할 수 있는 구독 해제 함수입니다.
onSnapshot(query, onNext, onError, onFinished)
QuerySnapshot
이벤트의 리스너를 연결합니다. 개별 onNext
및 onError
콜백을 전달하거나 next
및 error
콜백으로 단일 관찰자 객체를 전달할 수 있습니다. onSnapshot
가 호출될 때 반환되는 함수를 호출하여 리스너를 취소할 수 있습니다.
참고: onCompletion
콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다.
서명:
export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, onNext: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
쿼리 | 쿼리<AppModelType, DBMModelType> | 수신 대기할 쿼리입니다. |
onNext | (스냅샷: QuerySnapshot<AppModelType, DBMModelType>) => 무효 | 새 QuerySnapshot 를 사용할 수 있을 때마다 호출되는 콜백입니다. |
onError | (오류: FirestoreError) => 무효 | 수신 대기가 실패하거나 취소되는 경우 호출할 콜백입니다. 더 이상 콜백이 발생하지 않습니다. |
oncomplete | () => 무효 | 제공할 수 있지만 스트림이 끝나지 않으므로 호출되지 않습니다. |
반환:
스냅샷 리스너를 취소하기 위해 호출할 수 있는 구독 해제 함수입니다.
onSnapshot(query, options, onNext, onError, onFinished)
QuerySnapshot
이벤트의 리스너를 연결합니다. 개별 onNext
및 onError
콜백을 전달하거나 next
및 error
콜백으로 단일 관찰자 객체를 전달할 수 있습니다. onSnapshot
가 호출될 때 반환되는 함수를 호출하여 리스너를 취소할 수 있습니다.
참고: onCompletion
콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다.
서명:
export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, options: SnapshotListenOptions, onNext: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
쿼리 | 쿼리<AppModelType, DBMModelType> | 수신 대기할 쿼리입니다. |
옵션 | SnapshotListenOptions | 수신 대기 동작을 제어하는 옵션입니다. |
onNext | (스냅샷: QuerySnapshot<AppModelType, DBMModelType>) => 무효 | 새 QuerySnapshot 를 사용할 수 있을 때마다 호출되는 콜백입니다. |
onError | (오류: FirestoreError) => 무효 | 수신 대기가 실패하거나 취소되는 경우 호출할 콜백입니다. 더 이상 콜백이 발생하지 않습니다. |
oncomplete | () => 무효 | 제공할 수 있지만 스트림이 끝나지 않으므로 호출되지 않습니다. |
반환:
스냅샷 리스너를 취소하기 위해 호출할 수 있는 구독 해제 함수입니다.
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를 자동으로 할당합니다.
서명:
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
로 확인됩니다 (오프라인 상태에서는 확인되지 않음).
컬렉션(참조, 경로, 경로 세그먼트)
지정된 상대 경로에 있는 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
에서 참조한 문서를 삭제합니다.
서명:
export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
참조 | DocumentReference<AppModelType, DBMModelType> | 삭제할 문서에 대한 참조입니다. |
반환:
프로미스<void>
문서가 백엔드에서 성공적으로 삭제되면 프로미스가 해결됩니다 (오프라인 상태에서는 확인되지 않음).
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(참조)
이 DocumentReference
에서 참조하는 문서를 읽습니다.
서명:
export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
참조 | DocumentReference<AppModelType, DBMModelType> | 가져올 문서의 참조입니다. |
반환:
프로미스<DocumentSnapshot<AppModelType, DBMModelType>>
프로미스가 현재 문서 콘텐츠가 포함된 DocumentSnapshot
로 확인됩니다.
getDocFromCache(참조)
이 DocumentReference
가 참조하는 문서를 캐시에서 읽습니다. 문서가 현재 캐시되지 않은 경우 오류를 반환합니다.
서명:
export declare function getDocFromCache<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
참조 | DocumentReference<AppModelType, DBMModelType> |
반환:
프로미스<DocumentSnapshot<AppModelType, DBMModelType>>
Promise
이 현재 문서 콘텐츠가 포함된 DocumentSnapshot
로 확인되었습니다.
getDocFromServer(참조)
이 DocumentReference
가 참조한 문서를 서버에서 읽습니다. 네트워크를 사용할 수 없는 경우 오류가 반환됩니다.
서명:
export declare function getDocFromServer<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
참조 | DocumentReference<AppModelType, DBMModelType> |
반환:
프로미스<DocumentSnapshot<AppModelType, DBMModelType>>
Promise
이 현재 문서 콘텐츠가 포함된 DocumentSnapshot
로 확인되었습니다.
onSnapshot(참조, 관찰자)
DocumentSnapshot
이벤트의 리스너를 연결합니다. 개별 onNext
및 onError
콜백을 전달하거나 next
및 error
콜백으로 단일 관찰자 객체를 전달할 수 있습니다.
참고: onCompletion
콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다.
서명:
export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, observer: {
next?: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void;
error?: (error: FirestoreError) => void;
complete?: () => void;
}): Unsubscribe;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
참조 | DocumentReference<AppModelType, DBMModelType> | 리슨할 문서에 대한 참조입니다. |
관찰자 | { 다음?: (스냅샷: DocumentSnapshot<AppModelType, DBMModelType>) => 무효 오류?: (오류: FirestoreError) => 무효 완료 여부: () => 무효 } | next 및 error 콜백을 포함하는 단일 객체입니다. |
반환:
스냅샷 리스너를 취소하기 위해 호출할 수 있는 구독 해제 함수입니다.
onSnapshot(reference, options, 관찰자)
DocumentSnapshot
이벤트의 리스너를 연결합니다. 개별 onNext
및 onError
콜백을 전달하거나 next
및 error
콜백으로 단일 관찰자 객체를 전달할 수 있습니다.
참고: onCompletion
콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다.
서명:
export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, options: SnapshotListenOptions, observer: {
next?: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void;
error?: (error: FirestoreError) => void;
complete?: () => void;
}): Unsubscribe;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
참조 | DocumentReference<AppModelType, DBMModelType> | 리슨할 문서에 대한 참조입니다. |
옵션 | SnapshotListenOptions | 수신 대기 동작을 제어하는 옵션입니다. |
관찰자 | { 다음?: (스냅샷: DocumentSnapshot<AppModelType, DBMModelType>) => 무효 오류?: (오류: FirestoreError) => 무효 완료 여부: () => 무효 } | next 및 error 콜백을 포함하는 단일 객체입니다. |
반환:
스냅샷 리스너를 취소하기 위해 호출할 수 있는 구독 해제 함수입니다.
onSnapshot(reference, onNext, onError, oncomplete)
DocumentSnapshot
이벤트의 리스너를 연결합니다. 개별 onNext
및 onError
콜백을 전달하거나 next
및 error
콜백으로 단일 관찰자 객체를 전달할 수 있습니다.
참고: onCompletion
콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다.
서명:
export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, onNext: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
참조 | DocumentReference<AppModelType, DBMModelType> | 리슨할 문서에 대한 참조입니다. |
onNext | (스냅샷: DocumentSnapshot<AppModelType, DBMModelType>) => 무효 | 새 DocumentSnapshot 를 사용할 수 있을 때마다 호출되는 콜백입니다. |
onError | (오류: FirestoreError) => 무효 | 수신 대기가 실패하거나 취소되는 경우 호출할 콜백입니다. 더 이상 콜백이 발생하지 않습니다. |
oncomplete | () => 무효 | 제공할 수 있지만 스트림이 끝나지 않으므로 호출되지 않습니다. |
반환:
스냅샷 리스너를 취소하기 위해 호출할 수 있는 구독 해제 함수입니다.
onSnapshot(reference, options, onNext, onError, onFinished)
DocumentSnapshot
이벤트의 리스너를 연결합니다. 개별 onNext
및 onError
콜백을 전달하거나 next
및 error
콜백으로 단일 관찰자 객체를 전달할 수 있습니다.
참고: onCompletion
콜백을 제공할 수는 있지만 스냅샷 스트림이 끝나지 않기 때문에 호출되지 않습니다.
서명:
export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, options: SnapshotListenOptions, onNext: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
참조 | DocumentReference<AppModelType, DBMModelType> | 리슨할 문서에 대한 참조입니다. |
옵션 | SnapshotListenOptions | 수신 대기 동작을 제어하는 옵션입니다. |
onNext | (스냅샷: DocumentSnapshot<AppModelType, DBMModelType>) => 무효 | 새 DocumentSnapshot 를 사용할 수 있을 때마다 호출되는 콜백입니다. |
onError | (오류: FirestoreError) => 무효 | 수신 대기가 실패하거나 취소되는 경우 호출할 콜백입니다. 더 이상 콜백이 발생하지 않습니다. |
oncomplete | () => 무효 | 제공할 수 있지만 스트림이 끝나지 않으므로 호출되지 않습니다. |
반환:
스냅샷 리스너를 취소하기 위해 호출할 수 있는 구독 해제 함수입니다.
setDoc(참조, 데이터)
이 DocumentReference
에서 참조하는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다.
서명:
export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
참조 | DocumentReference<AppModelType, DBMModelType> | 작성할 문서에 대한 참조입니다. |
데이터 | WithFieldValue<AppModelType> | 문서의 필드와 값의 맵입니다. |
반환:
프로미스<void>
데이터가 백엔드에 성공적으로 기록되면 Promise
가 확인됩니다 (오프라인 상태에서는 확인되지 않음).
setDoc(참조, 데이터, 옵션)
지정된 DocumentReference
에서 참조하는 문서에 씁니다. 문서가 아직 없으면 새로 만듭니다. merge
또는 mergeFields
를 제공하면 제공된 데이터를 기존 문서에 병합할 수 있습니다.
서명:
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 | 집합 동작을 구성하는 객체입니다. |
반환:
프로미스<void>
데이터가 백엔드에 성공적으로 기록되면 프로미스가 해결됩니다 (오프라인 상태에서는 확인되지 않음).
updateDoc(참조, 데이터)
지정된 DocumentReference
에서 참조하는 문서의 필드를 업데이트합니다. 존재하지 않는 문서를 적용하면 업데이트가 실패합니다.
서명:
export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): Promise<void>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
참조 | DocumentReference<AppModelType, DBMModelType> | 업데이트할 문서에 대한 참조입니다. |
데이터 | UpdateData<DbModelType> | 문서를 업데이트할 필드와 값이 포함된 객체입니다. 필드에는 문서 내의 중첩된 필드를 참조하는 점이 포함될 수 있습니다. |
반환:
프로미스<void>
데이터가 백엔드에 성공적으로 기록되면 Promise
가 확인됩니다 (오프라인 상태에서는 확인되지 않음).
updateDoc(참조, 필드, 값, moreFieldsAndValues)
지정된 DocumentReference
에서 참조하는 문서의 필드를 업데이트합니다. 존재하지 않는 문서에 적용하면 업데이트가 실패합니다.
중첩된 필드는 점으로 구분된 필드 경로 문자열을 제공하거나 FieldPath
객체를 제공하여 업데이트할 수 있습니다.
서명:
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 | 알 수 없음[] | 추가 키-값 쌍입니다. |
반환:
프로미스<void>
데이터가 백엔드에 성공적으로 기록되면 Promise
가 확인됩니다 (오프라인 상태에서는 확인되지 않음).
함수(설정, ...)
메모리 로컬 캐시(설정)
MemoryLocalCache
의 인스턴스를 생성합니다. 인스턴스를 FirestoreSettings.cache
로 설정하여 사용할 캐시 레이어를 SDK에 알릴 수 있습니다.
서명:
export declare function memoryLocalCache(settings?: MemoryCacheSettings): MemoryLocalCache;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
설정 | MemoryCacheSettings |
반환:
메모리 LruGarbageCollector(설정)
MemoryLruGarbageCollector
의 인스턴스를 생성합니다.
목표 크기는 설정 매개변수의 일부로 지정할 수 있습니다. 캐시 크기가 지정된 크기를 초과하면 수집기가 문서를 삭제하기 시작합니다. 기본 캐시 크기는 40MB (40 * 1024 * 1,024바이트)입니다.
서명:
export declare function memoryLruGarbageCollector(settings?: {
cacheSizeBytes?: number;
}): MemoryLruGarbageCollector;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
설정 | { cacheSizeBytes?: number; } |
반환:
영구 로컬 캐시(설정)
PersistentLocalCache
의 인스턴스를 생성합니다. 인스턴스를 FirestoreSettings.cache
로 설정하여 사용할 캐시 레이어를 SDK에 알릴 수 있습니다.
영구 캐시는 Node.js 환경에서 사용할 수 없습니다.
서명:
export declare function persistentLocalCache(settings?: PersistentCacheSettings): PersistentLocalCache;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
설정 | PersistentCacheSettings |
반환:
영구단일탭 관리자(설정)
PersistentSingleTabManager
의 인스턴스를 생성합니다.
서명:
export declare function persistentSingleTabManager(settings: PersistentSingleTabManagerSettings | undefined): PersistentSingleTabManager;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
설정 | PersistentSingleTabManagerSettings | 정의되지 않음 | 생성된 탭 관리자를 구성합니다. |
반환:
함수(스냅샷, ...)
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> | 시작할 문서의 스냅샷입니다. |
반환:
query()
에 전달할 QueryStartAtConstraint
startAt(스냅샷)
제공된 문서 (포함)에서 시작하도록 결과 집합을 수정하는 QueryStartAtConstraint를 만듭니다. 시작 위치는 쿼리의 순서를 기준으로 합니다. 문서는 이 쿼리의 orderBy
에 제공된 모든 필드를 포함해야 합니다.
서명:
export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
스냅샷 | DocumentSnapshot<AppModelType, DBMModelType> | 시작할 문서의 스냅샷입니다. |
반환:
query()
에 전달할 QueryStartAtConstraint입니다.
함수(값, ...)
벡터(값)
지정된 숫자 배열의 사본으로 구성된 새 VectorValue
를 만듭니다.
서명:
export declare function vector(values?: number[]): VectorValue;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
값 | 숫자[] | 이 숫자 배열의 사본으로 VectorValue 인스턴스를 만듭니다. |
반환:
지정된 숫자 배열의 사본으로 구성된 새 VectorValue
입니다.
CACHE_SIZE_UNLIMITED
LRU 가비지 컬렉션을 사용 중지해야 함을 나타내는 데 사용되는 상수입니다. 이 값을 Firestore 인스턴스에 전달된 설정에서 cacheSizeBytes
로 설정합니다.
서명:
CACHE_SIZE_UNLIMITED = -1
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;
DocumentChangeType
DocumentChange
의 유형은 '추가됨', '삭제됨' 또는 '수정됨'일 수 있습니다.
서명:
export declare type DocumentChangeType = 'added' | 'removed' | 'modified';
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';
FirestoreLocalCache
지원되는 모든 SDK 캐시 레이어의 Union 유형입니다.
서명:
export declare type FirestoreLocalCache = MemoryLocalCache | PersistentLocalCache;
ListenSource
쿼리가 리슨하는 소스를 설명합니다.
캐시와 서버 변경사항을 모두 수신 대기하려면 default
로 설정합니다. 캐시의 변경사항만 수신 대기하려면 cache
로 설정합니다.
서명:
export declare type ListenSource = 'default' | 'cache';
MemoryGarbageCollector
메모리 로컬 캐시에 대한 모든 지원 가비지 컬렉터의 Union 유형입니다.
서명:
export declare type MemoryGarbageCollector = MemoryEagerGarbageCollector | MemoryLruGarbageCollector;
중첩 업데이트 필드
각 필드 (예: '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 PersistentTabManager = PersistentSingleTabManager | PersistentMultipleTabManager;
기본 역할
기본 유형
서명:
export declare type Primitive = string | number | boolean | undefined | null;
쿼리 제약조건 유형
이 SDK에서 사용할 수 있는 다양한 쿼리 제약조건을 설명합니다.
서명:
export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';
쿼리 필터 제약 조건
QueryFilterConstraint
는 QueryFieldFilterConstraint 및 QueryCompositeFilterConstraint를 나타내는 도우미 공용체 유형입니다.
서명:
export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;
쿼리 비필터 제약 조건
QueryNonFilterConstraint
는 문서 집합의 범위를 좁히거나 정렬하는 데 사용되지만 문서 필드를 명시적으로 필터링하지 않는 QueryConstraints를 나타내는 도우미 공용체 유형입니다. QueryNonFilterConstraint
는 orderBy(), startAt(), startAfter(), endBefore(), endAt(), limit() 또는 limitToLast()를 호출하여 생성되며 query()에 전달되어 query()에도 포함된 새 쿼리 인스턴스를 만들 수 있습니다.QueryConstraint
서명:
export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;
SetOptions
setDoc()의 동작과 호출을 구성하는 옵션 객체입니다. 이러한 호출은 SetOptions
에 merge: true
를 제공하여 대상 문서 전체를 덮어쓰는 대신 세분화된 병합을 수행하도록 구성할 수 있습니다.
서명:
export declare type SetOptions = {
readonly merge?: boolean;
} | {
readonly mergeFields?: Array<string | FieldPath>;
};
TaskState
번들 로드 작업의 상태를 나타냅니다.
모두 '오류' 'Success'를 선택합니다. 작업이 취소 또는 완료되고 보고된 후 더 이상 업데이트가 없는 싱크 상태입니다.
서명:
export declare type TaskState = 'Error' | 'Running' | 'Success';
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() 절의 필터 조건은 '<', '<=', '==', '!=', '>=', '>', '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);