클래스 Realm

Realm 데이터베이스.

생성자

  • 기본 경로에 새 Realm 인스턴스를 만듭니다.

    Realm반환

    스로우

    호환되지 않는 동기화된 Realm을 열면 오류가 발생합니다.

  • 제공된 경로에 새 Realm 인스턴스를 만듭니다.

    매개변수

    • 경로: 문자열

      Realm을 처음 생성할 때 필요합니다.

    Realm반환

    스로우

    제공된 경로에서 Realm을 열 수 없는 경우 오류가 발생합니다.

    스로우

    호환되지 않는 동기화된 Realm을 열면 오류가 발생합니다.

  • 제공된 구성을 사용하여 새 Realm 인스턴스를 만듭니다. Realm이 config.path (제공되지 않은 경우 Realm.defaultPath )에 아직 존재하지 않는 경우 생성자가 제공된 config.schema (이 경우 필수 )를 사용하여 Realm을 생성합니다. 그렇지 않으면 인스턴스는 해당 경로에 있는 파일에서 기존 Realm에 액세스합니다. 이 경우 config.schema선택 사항 이거나 config.schemaVersion 을 늘리지 않는 한 변경되지 않으며, 이 경우 Realm은 새 스키마를 사용하도록 자동으로 마이그레이션됩니다. 쿼리 기반 동기화의 경우 config.schema 가 필요합니다. config.schema 가 정의되지 않은 경우 예외가 발생합니다.

    매개변수

    • config: 구성

      Realm을 처음 생성할 때 필요합니다.

    Realm반환

    스로우

    제공된 구성에 잘못된 것이 있으면 오류가 발생합니다.

    스로우

    호환되지 않는 동기화된 Realm을 열면 오류가 발생합니다.

속성

리스너 알림 전: any
리스너 변경: any
클래스: any
초기 구독처리: any

필요한 경우 초기 구독으로 구독을 업데이트합니다.

매개변수: initialSubscriptions

초기 구독입니다.

매개변수: realmExists

영역이 이미 존재하는지 여부.

schema추가 기능: any
스키마 리스너: any
동기화 세션: null | Session

동기화된 Realm인 경우 동기화 세션

기본경로: 문자열
암호화 키 결정: any
경로 결정: any

참고

경로가 상대 경로이고 구성에 동기화 객체가 포함된 경우 Core는 기존 파일 확장자를 대체하거나 "영역"을 추가합니다. 접미사.

스키마 모드결정: any
추출스키마추가: any
내부: any
경로 정규화: any

TODO: ".realm" 접미사 (프로세스에서 다른 SDK 팀과 조정)

랩 마이그레이션: any

접근자

  • get isClosed(): 부울
  • 이 Realm이 닫혔는지 여부를 나타냅니다.

    반환 부울

    true 닫히면 false , 그렇지 않으면 .

    이후

    2.1.0

  • get isEmpty(): 부울
  • 이 Realm에 객체가 포함되어 있는지 여부를 나타냅니다.

    반환 부울

    true 비어 있으면 false , 그렇지 않으면 .

    이후

    1.10.0

  • get isInMemory(): 부울
  • 이 Realm이 인메모리에서 열렸는지 여부를 나타냅니다.

    반환 부울

    true 이 Realm이 인메모리이면 false 를 반환합니다.

  • get isInMigration(): 부울
  • 이 Realm이 마이그레이션 중인지 여부를 나타냅니다.

    반환 부울

    true 마이그레이션 중인 경우 그렇지 않으면 false

    이후

    12.3.0

  • get isInTransaction(): 부울
  • 이 Realm이 쓰기 트랜잭션(write transaction) 상태인지 여부를 나타냅니다.

    반환 부울

    true 쓰기 트랜잭션(write transaction)에 있는 경우 그렇지 않으면 false 를 반환합니다.

    이후

    1.10.3

  • get isReadOnly(): 부울
  • 이 Realm이 읽기 전용으로 열렸는지 여부를 나타냅니다.

    반환 부울

    true 이 Realm이 읽기 전용이면 false 를 반환합니다.

    이후

    0.12.0

  • 경로 가져오기 (): 문자열
  • 이 Realm이 저장된 파일의 경로입니다.

    문자열반환

    이 Realm이 저장된 파일의 경로가 포함된 문자열입니다.

    이후

    0.12.0

  • get schemaVersion(): number
  • Realm의 현재 스키마 버전입니다.

    숫자반환

    이 Realm의 스키마 버전( number 입니다.

    이후

    0.12.0

  • 구독 가져오기 (): SubscriptionSet
  • 최신 Flexible Sync 구독 세트입니다.

    SubscriptionSet반환

    SubscriptionSet 객체입니다.

    스로우

    이 앱에 Flexible Sync가 활성화되어 있지 않은 경우 오류가 발생합니다.

방법

  • 유형 매개변수

    • t 확장 객체<DefaultObject, 절대로, t>

    매개변수

    • type: 생성자<T>
    • objectKey: 문자열

    정의되지 않은 값을반환합니다. | T

  • 지정된 eventName에 대한 리스너 콜백을 추가합니다.

    매개변수

    • eventName: RealmEventName

      콜백을 호출해야 하는 이벤트의 이름입니다.

    • 콜백: RealmListenerCallback

      변경 이벤트가 발생할 때 호출되는 함수입니다. 각 콜백은 추가된 횟수에 관계없이 이벤트당 한 번만 호출됩니다.

    반환 값 void

    스로우

    유효하지 않은 이벤트 eventName을 제공하거나, Realm이 닫히거나 콜백이 함수가 아닌 경우 오류가 발생합니다.

  • 쓰기 트랜잭션(write transaction)을 시작합니다.

    트랜잭션을 수행할 때는 오류 처리를 수행하는 것이 좋습니다. 오류를 처리하지 않으면 데이터가 일관되지 않을 수 있습니다. 오류 처리에는 트랜잭션 취소가 포함되는 경우가 많습니다.

    반환 값 void

    스로우

    이미 쓰기 트랜잭션(write transaction) 중인 경우 오류 발생

    ~를 참조하세요.

    예시

    realm.beginTransaction();
    try {
    realm.create('Person', { name: 'Arthur Dent', origin: 'Earth' });
    realm.create('Person', { name: 'Ford Prefect', origin: 'Betelgeuse Five' });
    realm.commitTransaction();
    } catch (e) {
    realm.cancelTransaction();
    throw e;
    }
  • 쓰기 트랜잭션(write transaction)을 취소합니다.

    반환 값 void

    ~를 참조하세요.

    startTransaction

  • 최신 스키마 버전으로 다시 열 수 있도록 이 Realm을 닫습니다. 이 메서드를 호출한 후에는 이 Realm의 모든 객체와 collection이 더 이상 유효하지 않습니다. 이 메서드는 멱등성이 있습니다.

    반환 값 void

  • 쓰기 트랜잭션(write transaction)을 커밋합니다.

    반환 값 void

    ~를 참조하세요.

    startTransaction

  • 이 Realm의 모든 문자열 열을 문자열 열거형 열로 바꾸고 데이터베이스 파일을 압축합니다.

    쓰기 트랜잭션(write transaction)에서는 호출할 수 없습니다.

    다른 Realm 인스턴스가 있는 경우 압축이 발생하지 않습니다.

    압축이 진행되는 동안 다른 스레드나 프로세스가 데이터베이스를 열려고 하는 시도는 대기합니다.

    압축을 위한 리소스 요구 사항은 데이터베이스의 라이브 데이터 양에 비례한다는 점에 유의하세요. 압축은 데이터베이스 콘텐츠를 임시 데이터베이스 파일에 쓴 다음 데이터베이스를 임시 파일로 바꾸는 방식으로 작동합니다.

    반환 부울

    true 압축에 성공하면 false 을 반환합니다.

  • 지정된 유형과 지정된 속성을 사용하여 새 RealmObject 를 만듭니다. 비대칭으로 표시된 객체의 경우 undefined 이(가) 반환됩니다. 비대칭 객체용 API는 향후 변경될 수 있습니다.

    유형 매개변수

    • T = DefaultObject

    매개변수

    • type: 문자열

      생성할 Realm 객체의 유형입니다.

    • values: 부분<T> | 부분적<관리되지 않는<T>>

      기본값이 없는 모든 필수 속성의 속성 값입니다.

    • Optional 모드: 부울 | 사용 안 함 | 수정됨 | 모두

      선택적 업데이트 모드. 기본값은 UpdateMode.Never 입니다.

    객체<T를 반환하고, 절대> & T를 반환하지 않습니다.

    RealmObject 또는 객체가 비대칭인 경우 undefined 입니다.

  • 유형 매개변수

    매개변수

    반환 T

  • 제공된 Realm 객체 또는 제공된 collection 내의 각 객체를 삭제합니다.

    매개변수

    • Subject: any

      삭제할 Realm 객체이거나 삭제할 Realm 객체가 여러 개 포함된 collection입니다.

    반환 값 void

  • 경고: 이렇게 하면 Realm의 모든 객체가 삭제됩니다!

    반환 값 void

  • 모든 객체를 포함하여 Realm 모델을 삭제합니다. 마이그레이션 함수 외부에서 호출하면 schemaschemaVersion 이 업데이트됩니다.

    매개변수

    • name: 문자열

      모델 이름입니다.

    반환 값 void

  • 프라이머리 키로 Realm 객체를 검색합니다.

    유형 매개변수

    • T = DefaultObject

    매개변수

    • type: 문자열

      검색할 Realm 객체의 유형입니다.

    • 프라이머리 키 : T[keyof T]

      검색 객체의 기본 키 값입니다.

    null반환 | 객체<T, 절대> & T

    객체를 찾을 수 없는 경우 RealmObject 또는 null 입니다.

    스로우

    이 메서드에 전달된 유형이 유효하지 않거나, Realm 객체 유형의 스키마에 프라이머리 키가 지정되어 있지 않거나, 비대칭으로 표시된 경우 오류가 발생합니다.

    이후

    0.14.0

  • 유형 매개변수

    매개변수

    • type: 생성자<T>
    • 프라이머리 키 : T[keyof T]

    null반환 | T

  • Realm에서 지정된 유형의 모든 객체를 반환합니다.

    유형 매개변수

    • T = DefaultObject

    매개변수

    • type: 문자열

      조회할 Realm 객체의 유형입니다.

    반환 결과<객체<T, 절대> & T>

    객체가 생성, 수정 및 폐기될 때마다 결과가 실시간 업데이트됩니다.

    스로우

    이 메서드에 전달된 유형이 유효하지 않거나 유형이 포함 또는 비대칭으로 표시된 경우 오류가 발생합니다.

  • 유형 매개변수

    • t 확장 객체<any, 절대로, t> = Object<DefaultObject, 절대> & DefaultObject

    매개변수

    • type: 생성자<T>

    반환 결과<T>

  • 모든 이벤트 리스너를 제거합니다(제공된 경우 eventName 이벤트로 제한됨).

    매개변수

    • Optional eventName: RealmEventName

      리스너를 제거해야 하는 이벤트의 이름입니다.

    반환 값 void

    스로우

    잘못된 이벤트 eventName을(를) 제공하면 오류가 발생합니다.

  • 지정된 이벤트 eventName에 대한 리스너 콜백을 제거합니다.

    매개변수

    반환 값 void

    스로우

    오류 유효하지 않은 이벤트 eventName이 제공된 경우, Realm이 닫혔거나 콜백이 함수가 아닌 경우.

  • 쓰기 트랜잭션(write transaction) 내에서 제공된 콜백을 동기식으로 호출합니다. 트랜잭션 내부에서 예외가 발생하면 해당 트랜잭션의 변경 사항이 손실되지만 Realm 자체는 영향을 받거나 손상되지 않습니다. 보다 정확하게는 startTransactioncommitTransaction 이 자동으로 호출됩니다. 트랜잭션 중에 예외가 발생하면 commitTransaction 대신 취소 트랜잭션 (cancelTransaction )이 호출되고 쓰기 호출자에게 예외가 다시 발생합니다.

    중첩된 트랜잭션( write 내에서 write 호출)은 불가능합니다.

    유형 매개변수

    • t

    매개변수

    • 콜백: (() => T)

      쓰기 트랜잭션(write transaction) 내에서 호출되는 함수입니다.

        • (): t
        • 반환 T

    반환 T

    콜백에서 반환된 값입니다.

  • 지정된 구성으로 Realm의 압축된 복사본을 씁니다.

    대상 파일이 이미 존재할 수 없습니다. 동기화된 Realm과 동기화되지 않은 Realm 간의 모든 변환이 지원되며 원하는 출력을 설명하는 구성 매개변수에 따라 수행됩니다.

    쓰기 트랜잭션 (write transaction) 내에서 이 메서드를 호출하면 이전 쓰기 트랜잭션 (write transaction)이 커밋된 점의 데이터가 아닌 현재 데이터가 기록됩니다.

    매개변수

    • config: 구성

      출력 Realm을 설명하는 Realm 구성입니다.

    반환 값 void

  • Private

    기본 디렉토리에서 Realm을 닫고 삭제하여 상태를 지우고 모든 사용자를 로그아웃합니다. 참고: 공개 API의 일부가 아니며 주로 라이브러리의 테스트에서 사용됩니다.

    반환 값 void

  • 모든 Realm 파일을 복사합니다(예: *.realm)를 Realm에서 열고 사용할 수 있도록 애플리케이션 디렉토리에서 애플리케이션의 문서 디렉토리로 번들로 제공합니다. 파일이 문서 디렉토리에 이미 존재하는 경우 해당 파일을 덮어쓰지 않으므로 여러 번 안전하게 호출할 수 있습니다.

    번들 Realm 파일을 쓸 수 있는 위치로 이동하려면 Realm을 열기 전에 호출해야 합니다.

    반환 값 void

    예시

    // Given a bundled file, example.realm, this will copy example.realm (and any other .realm files)
    // from the app bundle into the app's documents directory. If the file already exists, it will
    // not be overwritten, so it is safe to call this every time the app starts.
    Realm.copyBundledRealmFiles();

    const realm = await Realm.open({
    // This will open example.realm from the documents directory, with the bundled data in.
    path: "example.realm"
    });

    이는 React Native에만 구현됩니다.

    스로우

    Error I/O 오류가 발생했거나 메서드가 구현되지 않은 경우입니다.

  • 모든 선택적 필드가 정의되지 않았고 모든 필수 필드가 지정된 데이터 유형에 대한 기본값(스키마의 기본 속성으로 설정된 값 또는 스키마의 경우 데이터 유형에 대한 기본값)을 갖는 Realm 모델 클래스에 대한 템플릿 객체를 생성합니다. 는 1을 지정하지 않습니다(예: 0, false 및 "").

    유형 매개변수

    • t 확장 기록<문자열, 알 수 없음>

    매개변수

    • objectSchema: ObjectSchema

      생성해야 하는 객체를 설명하는 스키마입니다.

    반환 T

  • 지정된 구성에 대한 Realm 파일을 삭제합니다.

    매개변수

    • config: 구성

      삭제되는 Realm의 구성입니다.

    반환 값 void

    스로우

    제공된 구성에 잘못된 것이 있으면 오류가 발생합니다.

  • Realm이 디스크에 이미 존재하는지 확인합니다.

    매개변수

    • 경로: 문자열

      Realm의 경로입니다.

    반환 부울

    true 기기에 Realm이 있으면 false , 그렇지 않으면 입니다.

    스로우

    제공된 경로에 잘못된 항목이 있는 경우 오류가 발생합니다.

  • Realm이 디스크에 이미 존재하는지 확인합니다.

    매개변수

    • config: 구성

      Realm의 구성입니다.

    반환 부울

    true 기기에 Realm이 있으면 false , 그렇지 않으면 입니다.

    스로우

    제공된 구성에 잘못된 것이 있으면 오류가 발생합니다.

  • Promise를 사용하여 기본 Realm을 비동기적으로 엽니다.

    ProgressRealmPromise반환

    Realm 인스턴스가 사용 가능한 경우 해당 Realm 인스턴스로 해결되는 promise입니다.

  • Promise를 사용하여 비동기적으로 Realm을 엽니다. Realm이 동기화되면 사용할 수 있게 되기 전에 완전히 동기화됩니다.

    매개변수

    • 경로: 문자열

      Realm의 경로입니다.

    ProgressRealmPromise반환

    Realm 인스턴스가 사용 가능한 경우 해당 Realm 인스턴스로 해결되는 promise입니다.

  • Promise를 사용하여 비동기적으로 Realm을 엽니다. Realm이 동기화되면 사용할 수 있게 되기 전에 완전히 동기화됩니다. 쿼리 기반 동기화의 경우 Configuration.schema 가 필요합니다. Configuration.schema 가 정의되지 않은 경우 예외가 발생합니다.

    매개변수

    • config: 구성

      Realm의 구성입니다.

    ProgressRealmPromise반환

    Realm 인스턴스가 사용 가능한 경우 해당 Realm 인스턴스로 해결되는 promise입니다.

    스로우

    제공된 구성에 잘못된 것이 있으면 오류가 발생합니다.

  • 지정된 경로에서 Realm의 현재 스키마 버전을 가져옵니다.

    매개변수

    • 경로: 문자열

      Realm 데이터베이스가 저장되는 파일의 경로입니다.

    • Optional encryptionKey: Array버퍼 | 배열버퍼뷰

      암호화된 Realm에 액세스할 때만 필요합니다.

    숫자반환

    정수인 스키마의 버전이거나 경로에 Realm이 없는 경우 -1 입니다.

    스로우

    유효하지 않거나 일치하지 않는 암호화 키를 전달하면 오류가 발생합니다.

    이후

    0.11.0

  • 로그 수준을 설정합니다.

    매개변수

    • 레벨: LogLevel

      로거에서 사용할 로그 수준입니다. 기본값은 info 입니다.

    • Optional 카테고리: "Realm" | "Realm.Storage" | "Realm.Storage.Transaction" | "Realm.Storage.Query" | "Realm.Storage.Object" | "Realm.Storage.Notification" | "Realm.Sync" | "Realm.Sync.Client" | "Realm.Sync.Client.Session" | "Realm.Sync.Client.Changeset" | "Realm.Sync.Client.Network" | "Realm.Sync.Client.Reset" | "Realm.Sync.Server" | "Realm.App" | "Realm.SDK"

      로그 수준을 설정할 범주입니다. 생략하면 모든 카테고리("Realm")에 대해 로그 수준이 설정됩니다.

    반환 값 void

    참고

    로그 수준은 애플리케이션의 수명 동안 변경될 수 있습니다.

    이후

    12.0.0

    예시

    Realm.setLogLevel("all");
    
  • 로거 콜백을 설정합니다.

    매개변수

    • loggerCallback: LoggerCallback2

      로거에 의해 호출된 콜백입니다. 기본 콜백은 메시지 수준에 따라 console.log, console.warnconsole.error 를 사용합니다.

    반환 값 void

    참고

    첫 번째 Realm을 열기 전에 로거 콜백을 설정해야 합니다.

    이후

    12.0.0

    예시

    Realm.setLogger(({ category, level, message }) => {
    console.log(`[${category} - ${level}] ${message}`);
    });
  • 로거 콜백을 설정합니다.

    매개변수

    • loggerCallback: LoggerCallback1

      로거에 의해 호출된 콜백입니다. 기본 콜백은 메시지 수준에 따라 console.log, console.warnconsole.error 를 사용합니다.

    반환 값 void

    참고

    첫 번째 Realm을 열기 전에 로거 콜백을 설정해야 합니다.

    이후

    12.0.0

    더 이상 사용되지 않습니다.

    대신 단일 객체 인수를 취하는 콜백을 전달합니다.

    예시

    Realm.setLogger((level, message) => {
    console.log(`[${level}] ${message}`);
    });
  • 모든 Realm을 닫고, 보류 중인 모든 Realm.open 호출을 취소하고, 내부 캐시를 지우고, 로거를 재설정하고 가비지를 수집합니다. 이 메서드를 호출하여 이벤트 루프를 해제하고 Node.js가 정상적인 종료를 수행할 수 있도록 합니다.

    반환 값 void

TypeDoc을 사용하여 생성됨