기본 경로에 새 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 가 정의되지 않은 경우 예외가 발생합니다.
Realm을 처음 생성할 때 필요합니다.
제공된 구성에 잘못된 것이 있으면 오류가 발생합니다.
호환되지 않는 동기화된 Realm을 열면 오류가 발생합니다.
Private
Private
Private
클래스Private
필요한 경우 초기 구독으로 구독을 업데이트합니다.
초기 구독입니다.
영역이 이미 존재하는지 여부.
Private
schemaPrivate
Readonly
동기화된 Realm인 경우 동기화 세션
Static
기본Static
Private
Static
Private
경로가 상대 경로이고 구성에 동기화 객체가 포함된 경우 Core는 기존 파일 확장자를 대체하거나 "영역"을 추가합니다. 접미사.
Static
Private
Static
Private
추출Static
Private
내부Static
Private
경로 정규화TODO: ".realm" 접미사 (프로세스에서 다른 SDK 팀과 조정)
Static
Private
이 Realm이 닫혔는지 여부를 나타냅니다.
true
닫히면 false
, 그렇지 않으면 .
2.1.0
이 Realm에 객체가 포함되어 있는지 여부를 나타냅니다.
true
비어 있으면 false
, 그렇지 않으면 .
1.10.0
이 Realm이 인메모리에서 열렸는지 여부를 나타냅니다.
true
이 Realm이 인메모리이면 false
를 반환합니다.
이 Realm이 마이그레이션 중인지 여부를 나타냅니다.
true
마이그레이션 중인 경우 그렇지 않으면 false
12.3.0
이 Realm이 쓰기 트랜잭션(write transaction) 상태인지 여부를 나타냅니다.
true
쓰기 트랜잭션(write transaction)에 있는 경우 그렇지 않으면 false
를 반환합니다.
1.10.3
이 Realm이 읽기 전용으로 열렸는지 여부를 나타냅니다.
true
이 Realm이 읽기 전용이면 false
를 반환합니다.
0.12.0
이 Realm이 저장된 파일의 경로입니다.
이 Realm이 저장된 파일의 경로가 포함된 문자열입니다.
0.12.0
이 Realm이 구성될 때 구성 에 제공된 스키마의 정규화된 표현입니다.
이 Realm의 모든 객체를 설명하는 CanonicalObjectSchema 배열입니다.
0.12.0
Realm의 현재 스키마 버전입니다.
이 Realm의 스키마 버전( number
입니다.
0.12.0
최신 Flexible Sync 구독 세트입니다.
SubscriptionSet 객체입니다.
이 앱에 Flexible Sync가 활성화되어 있지 않은 경우 오류가 발생합니다.
지정된 eventName에 대한 리스너 콜백을 추가합니다.
콜백을 호출해야 하는 이벤트의 이름입니다.
변경 이벤트가 발생할 때 호출되는 함수입니다. 각 콜백은 추가된 횟수에 관계없이 이벤트당 한 번만 호출됩니다.
유효하지 않은 이벤트 eventName을 제공하거나, Realm이 닫히거나 콜백이 함수가 아닌 경우 오류가 발생합니다.
쓰기 트랜잭션(write transaction)을 시작합니다.
트랜잭션을 수행할 때는 오류 처리를 수행하는 것이 좋습니다. 오류를 처리하지 않으면 데이터가 일관되지 않을 수 있습니다. 오류 처리에는 트랜잭션 취소가 포함되는 경우가 많습니다.
이미 쓰기 트랜잭션(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;
}
이 Realm의 모든 문자열 열을 문자열 열거형 열로 바꾸고 데이터베이스 파일을 압축합니다.
쓰기 트랜잭션(write transaction)에서는 호출할 수 없습니다.
다른 Realm 인스턴스가 있는 경우 압축이 발생하지 않습니다.
압축이 진행되는 동안 다른 스레드나 프로세스가 데이터베이스를 열려고 하는 시도는 대기합니다.
압축을 위한 리소스 요구 사항은 데이터베이스의 라이브 데이터 양에 비례한다는 점에 유의하세요. 압축은 데이터베이스 콘텐츠를 임시 데이터베이스 파일에 쓴 다음 데이터베이스를 임시 파일로 바꾸는 방식으로 작동합니다.
true
압축에 성공하면 false
을 반환합니다.
모든 객체를 포함하여 Realm 모델을 삭제합니다. 마이그레이션 함수 외부에서 호출하면 schema 및 schemaVersion 이 업데이트됩니다.
모델 이름입니다.
모든 이벤트 리스너를 제거합니다(제공된 경우 eventName 이벤트로 제한됨).
Optional
eventName: RealmEventName리스너를 제거해야 하는 이벤트의 이름입니다.
잘못된 이벤트 eventName을(를) 제공하면 오류가 발생합니다.
지정된 이벤트 eventName에 대한 리스너 콜백을 제거합니다.
이벤트 이름입니다.
이전에 addListener 메서드를 통해 이 이벤트의 리스너로 추가된 함수입니다.
오류 유효하지 않은 이벤트 eventName이 제공된 경우, Realm이 닫혔거나 콜백이 함수가 아닌 경우.
쓰기 트랜잭션(write transaction) 내에서 제공된 콜백을 동기식으로 호출합니다. 트랜잭션 내부에서 예외가 발생하면 해당 트랜잭션의 변경 사항이 손실되지만 Realm 자체는 영향을 받거나 손상되지 않습니다. 보다 정확하게는 startTransaction 및 commitTransaction 이 자동으로 호출됩니다. 트랜잭션 중에 예외가 발생하면 commitTransaction 대신 취소 트랜잭션 (cancelTransaction )이 호출되고 쓰기 호출자에게 예외가 다시 발생합니다.
콜백에서 반환된 값입니다.
지정된 구성으로 Realm의 압축된 복사본을 씁니다.
대상 파일이 이미 존재할 수 없습니다. 동기화된 Realm과 동기화되지 않은 Realm 간의 모든 변환이 지원되며 원하는 출력을 설명하는 구성 매개변수에 따라 수행됩니다.
쓰기 트랜잭션 (write transaction) 내에서 이 메서드를 호출하면 이전 쓰기 트랜잭션 (write transaction)이 커밋된 점의 데이터가 아닌 현재 데이터가 기록됩니다.
출력 Realm을 설명하는 Realm 구성입니다.
Static
Private
테스트 상태Static
번들모든 Realm 파일을 복사합니다(예: *.realm
)를 Realm에서 열고 사용할 수 있도록 애플리케이션 디렉토리에서 애플리케이션의 문서 디렉토리로 번들로 제공합니다. 파일이 문서 디렉토리에 이미 존재하는 경우 해당 파일을 덮어쓰지 않으므로 여러 번 안전하게 호출할 수 있습니다.
번들 Realm 파일을 쓸 수 있는 위치로 이동하려면 Realm을 열기 전에 호출해야 합니다.
// 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 오류가 발생했거나 메서드가 구현되지 않은 경우입니다.
Static
모든 선택적 필드가 정의되지 않았고 모든 필수 필드가 지정된 데이터 유형에 대한 기본값(스키마의 기본 속성으로 설정된 값 또는 스키마의 경우 데이터 유형에 대한 기본값)을 갖는 Realm 모델 클래스에 대한 템플릿 객체를 생성합니다. 는 1을 지정하지 않습니다(예: 0, false 및 "").
생성해야 하는 객체를 설명하는 스키마입니다.
Static
파일 삭제지정된 구성에 대한 Realm 파일을 삭제합니다.
삭제되는 Realm의 구성입니다.
제공된 구성에 잘못된 것이 있으면 오류가 발생합니다.
Static
이 존재합니다Realm이 디스크에 이미 존재하는지 확인합니다.
Realm의 경로입니다.
true
기기에 Realm이 있으면 false
, 그렇지 않으면 입니다.
제공된 경로에 잘못된 항목이 있는 경우 오류가 발생합니다.
Realm이 디스크에 이미 존재하는지 확인합니다.
Realm의 구성입니다.
true
기기에 Realm이 있으면 false
, 그렇지 않으면 입니다.
제공된 구성에 잘못된 것이 있으면 오류가 발생합니다.
Static
열기Promise를 사용하여 기본 Realm을 비동기적으로 엽니다.
Realm 인스턴스가 사용 가능한 경우 해당 Realm 인스턴스로 해결되는 promise입니다.
Promise를 사용하여 비동기적으로 Realm을 엽니다. Realm이 동기화되면 사용할 수 있게 되기 전에 완전히 동기화됩니다.
Realm의 경로입니다.
Realm 인스턴스가 사용 가능한 경우 해당 Realm 인스턴스로 해결되는 promise입니다.
Promise를 사용하여 비동기적으로 Realm을 엽니다. Realm이 동기화되면 사용할 수 있게 되기 전에 완전히 동기화됩니다. 쿼리 기반 동기화의 경우 Configuration.schema 가 필요합니다. Configuration.schema 가 정의되지 않은 경우 예외가 발생합니다.
Realm의 구성입니다.
Realm 인스턴스가 사용 가능한 경우 해당 Realm 인스턴스로 해결되는 promise입니다.
제공된 구성에 잘못된 것이 있으면 오류가 발생합니다.
Static
schemaStatic
로그 수준을 설정합니다.
로거에서 사용할 로그 수준입니다. 기본값은 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"
)에 대해 로그 수준이 설정됩니다.
로그 수준은 애플리케이션의 수명 동안 변경될 수 있습니다.
12.0.0
Realm.setLogLevel("all");
Static
로거 콜백을 설정합니다.
로거에 의해 호출된 콜백입니다. 기본 콜백은 메시지 수준에 따라 console.log
, console.warn
및 console.error
를 사용합니다.
첫 번째 Realm을 열기 전에 로거 콜백을 설정해야 합니다.
12.0.0
Realm.setLogger(({ category, level, message }) => {
console.log(`[${category} - ${level}] ${message}`);
});
로거 콜백을 설정합니다.
로거에 의해 호출된 콜백입니다. 기본 콜백은 메시지 수준에 따라 console.log
, console.warn
및 console.error
를 사용합니다.
첫 번째 Realm을 열기 전에 로거 콜백을 설정해야 합니다.
12.0.0
대신 단일 객체 인수를 취하는 콜백을 전달합니다.
Realm.setLogger((level, message) => {
console.log(`[${level}] ${message}`);
});
Static
종료됩니다모든 Realm을 닫고, 보류 중인 모든 Realm.open 호출을 취소하고, 내부 캐시를 지우고, 로거를 재설정하고 가비지를 수집합니다. 이 메서드를 호출하여 이벤트 루프를 해제하고 Node.js가 정상적인 종료를 수행할 수 있도록 합니다.
TypeDoc을 사용하여 생성됨
Realm 데이터베이스.