Realm

Realm インスタンスは Realm データベースを表します。

const Realm = require('realm');

関連クラス

アプリ
認証
コレクション
Credentials
Dictionary
リスト
MongoDBCollection
オブジェクト
結果
セット
user
ワーカー
MongoDB
MongoDBDatabase
Realm.BSON
静的定数

「 」パッケージの再エクスポートにより、「BSON BSON types」パッケージへの明示的な依存関係を必要とせずに へのアクセスが可能になります。BSON

次を参照してください。 詳細については、 BSON ドキュメントを参照してください。
isClosed
readOnly

この Realm が閉じているかどうかを示します。

タイプ:
boolean
isEmpty
readOnly

この Realm にオブジェクトが含まれているかどうかを示します。

タイプ:
boolean
isInTransaction
readOnly

この Realm が書込みトランザクション (write transaction) 内かどうかを示します。

タイプ:
boolean
isReadOnly
readOnly

この Realm が読み取り専用として開かれているかどうかを示します。

タイプ:
boolean
path
readOnly

この Realm が保存されているファイルへのパス。

タイプ:
string
スキーマ
readOnly

この Realm が構築されたときにConfigurationに提供されたスキーマの正規化された表現。

タイプ:
[CanonicalObjectSchema, ...]
schemaVersion
readOnly

この Realm の現在のスキーマ バージョン。

タイプ:
number
サブスクリプション
readOnly

Flexible Sync サブスクライブの最新セットを取得します。

タイプ:
Realm.App.Sybc.SubscriptionSet
syncSession
readOnly

同期された Realm である場合は、同期セッションを取得します

タイプ:
Session
new Realm(config)

提供されたconfigを使用して、新しいRealmインスタンスを作成します。 Realm がまだconfig.path (または指定されていない場合はRealm.defaultPath )に存在しない場合、このコンストラクターは指定されたconfig.schema (この場合は必須)を使用してそれを作成します。 それ以外の場合、インスタンスはそのパスにある ファイルから既存の Realm にアクセスします。 この場合、 config.schema任意または変更されていません。ただし、 config.schemaVersionが増加しない限り、Realm は新しいスキーマを使用するように自動的に移行されます。 クエリベースの同期の場合は、 config.schemaが必要です。 config.schemaが定義されていない場合は、例外がスローされます。

パラメーター:
  • config 任意
    • タイプ: Configuration
    • Realm を初めて作成するときに必要です。

の例外をスローします。
  • Error
    • 提供されたconfig内のいずれかが無効な場合。

  • IncompatibleSyncedRealmError
    • 互換性のない同期された Realm が開かれた場合

Realm.copyBundledRealmFiles()
静的

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 エラーが発生した場合、 または メソッドが実装されていない場合。

Realm.createTemplateObject(スキーマ)
静的

すべてのオプション フィールドがundefinedで、すべての必須フィールドが指定されたデータ型のデフォルト値を持つ Realm モデル クラスのテンプレート オブジェクトを作成します。これは、スキーマのdefaultプロパティによって設定された値または のデフォルト値のいずれかです。スキーマでデータ型が指定されていない場合は、 0 、false 、および""になります。

パラメーター:
  • スキーマ
    • タイプ: ObjectSchema
    • クラスを記述するオブジェクト

Realm.deleteFile(config)
静的

指定された構成の Realm ファイルを削除します。

パラメーター:
の例外をスローします。
  • Error
    • 提供されたconfig内のいずれかが無効な場合。

Realm.exists(config)boolean
静的

Realm がすでにディスク上に存在するかどうかを確認します。

パラメーター:
の例外をスローします。
  • Error
    • 提供されたconfigのいずれかが無効な場合。

返しますbooleanは、デバイスに Realm が存在する場合はtrueを返し、存在しない場合はfalseを返します。
Realm.open(config)ProgressPromise
静的

Promise を使用して非同期に Realm を開きます。 Realm が同期されている場合は、使用可能になる前に完全に同期されます。 クエリベースの同期の場合は、 config.schemaが必要です。 config.schemaが定義されていない場合は、例外がスローされます。

パラメーター:
  • config
    • タイプ: Configuration
    • 構成が定義されていない場合は、デフォルトの邦土が開きます

の例外をスローします。
  • Error
    • 提供されたconfig内のいずれかが無効な場合。

戻り値: ProgressPromise
  • Realm インスタンスが利用可能になったときに解決される Promise 。
Realm.schemaVersion(パス、暗号化キーnumber
静的

指定されたパスにある Realm の現在のスキーマ バージョンを取得します。

パラメーター:
  • path
    • タイプ: string
    • Realm データベースが保存されているファイルへのパス。

  • encryptionKey 任意
    • タイプ: ArrayBufferまたはArrayBufferView
    • 暗号化された Realm にアクセスする場合にのみ必要です。

の例外をスローします。
  • Error
    • 無効または一致しない暗号化キーを渡す場合。

スキーマの バージョン、または に Realm が存在しない場合はnumber を 返します-1path
addLister(名前、コールバック)

指定されたイベントnameのリスナーcallbackを追加します。

パラメーター:
  • name
    • タイプ: string
    • コールバックを呼び出すイベントの名前。 現在、「変更」と「スキーマ」イベントのみがサポートされています 。

  • コールバック
    • タイプ: callback(Realm, string)またはcallback(Realm, string, Schema)
    • 変更イベントが発生したときに呼び出される関数。 各コールバックは、追加された回数に関係なく、イベントごとに 1 回のみ呼び出されます。

の例外をスローします。
  • Error
    • 無効なイベントnameが指定された場合、またはcallbackが関数でない場合。

startTransaction()

書込みトランザクション (write transaction) を開始します。

トランザクションを実行するときは、エラー処理を行うことを強くお勧めします。 エラーを処理しないと、データの整合性が失われる可能性があります。 エラー処理には、多くの場合トランザクションのキャンセルが含まれます。

次を参照してください。 cancelTransaction(), commitTransaction()
の例外をスローします。
  • Error
    • すでに書込みトランザクション (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;
}
CancelTransaction()

書込みトランザクション (write transaction) をキャンセルします。

次を参照してください。 beginTransaction()
閉じる()

この Realm を閉じて、新しいスキーマ バージョンで再度開かれるようにします。 このメソッドを呼び出すと、この Realm のすべてのオブジェクトとコレクションは有効ではなくなります。 メソッドは偶数です。

commitTransaction()

書込みトランザクション (write transaction) をコミットします。

次を参照してください。 beginTransaction()
compact()true

この Realm 内のすべての string 列を string 列挙列に置き換え、データベースファイルを圧縮します。

書込みトランザクション (write transaction) からは呼び出せません。

他のRealmインスタンスが存在する場合、圧縮は行われません。

圧縮の進行中、 は他のスレッドまたはプロセスによるデータベースを開こうとする試行を待機します。

圧縮のためのリソース要件は、データベース内のライブ データの量に比例することに注意してください。 Compaction works by writing the database contents to a temporary database file and then replacing the database with the temporary one.

true圧縮が成功すると : が 返されます 。
create(type、 properties、 updateModeRealm.Object

指定されたタイプと指定されたプロパティを持つ新しい Realm オブジェクトを作成します。 非対称として注釈が付けられたオブジェクト スキーマの場合、オブジェクトは返されません。 非対称オブジェクト スキーマの API は、将来変更される可能性があります。

パラメーター:
  • タイプ
    • タイプ: ObjectType
    • 作成する Realm オブジェクトのタイプ。

  • properties
    • タイプ: Object
    • デフォルト値のないすべての必須プロパティのプロパティ値。

  • updateMode 任意
    • タイプ: booleanまたはstring
    • デフォルト: 'never'
    • 任意の更新モード。 次のいずれかの値にすることができます - 'never': オブジェクトは作成のみを作成します。 既存のオブジェクトが存在する場合は、例外がスローされます。 これはデフォルト値です。 - 'all': 既存のオブジェクトが見つかると、提供されるすべてのプロパティが更新され、他のプロパティは変更されません。 - '変更済み': 既存のオブジェクトが存在する場合、値が実際に変更されたプロパティのみが更新されます。 これにより、通知とサーバー側のパフォーマンスが向上しますが、デバイス全体の変更がマージされる方法にも影響します。 ほとんどのユースケースでは、動作は変更をマージする方法に関する直感的な動作と一致しますが、オブジェクト全体の更新がアトミック操作と見なされる場合は、このモードを使用しないでください。

戻り値: Realm.Object
削除(オブジェクト)

指定された Realm オブジェクト、または指定されたコレクション内の各 1 つを削除します。

パラメーター:
deleteAll()

警告:これにより、Realm 内のすべてのオブジェクトが削除されます。

deleteModel(名前)

すべてのオブジェクトを含む Realm モデルを削除します。 移行関数外で呼び出されると、 schemaschemaVersionが更新されます。

パラメーター:
  • name
    • タイプ: string
    • モデル名

objectForPrimaryKey(タイプ、キー)Realm.Object or null

プライマリキーで Realm オブジェクトを検索します。

パラメーター:
  • タイプ
    • タイプ: ObjectType
    • 検索する Realm オブジェクトのタイプ。

  • キー
    • タイプ: numberまたはstring
    • 検索するオブジェクトのプライマリキー値。

の例外をスローします。
  • Error
    • このメソッドに渡された型が無効な場合、またはオブジェクトタイプのObjectSchemaprimaryKeyが指定されていない場合。

Realm.Objectnullオブジェクトが見つからない場合は : または を 返します 。
オブジェクト(type)Realm.Results

Realm 内の指定されたtypeのすべてのオブジェクトを返します。

パラメーター:
  • タイプ
    • タイプ: ObjectType
    • 検索する Realm オブジェクトのタイプ。

の例外をスローします。
  • Error
    • このメソッドに渡される型が無効な場合、または型が埋め込みまたは非対称としてマークされている場合。

Realm.Resultsオブジェクトが作成および破棄されるときにライブ更新する : を 返します 。
deleteAllListers名前

すべてのイベント リスナーを削除します(イベントnameに制限されています(存在する場合)。

パラメーター:
  • name 任意
    • タイプ: string
    • リスナーを削除するイベントの名前。 現在、「変更」と「スキーマ」イベントのみがサポートされています 。

の例外をスローします。
  • Error
    • 無効なイベントnameが提供された場合

deleteLister(名前、コールバック)

指定されたイベントnameのリスナーcallbackを削除します。

パラメーター:
  • name
    • タイプ: string
    • イベント名。 現在、「変更」と「スキーマ」イベントのみがサポートされています 。

  • コールバック
    • タイプ: callback(Realm, string)またはcallback(Realm, string, Schema)
    • 以前にaddListenerメソッドを通じてこのイベントのリスナーとして追加された関数。

の例外をスローします。
  • Error
    • 無効なイベントnameが指定された場合、またはcallbackが関数でない場合。

書込み (write)(コールバック)*

書込みトランザクション (write transaction) 内で提供されたcallbackを同期的に呼び出します。 トランザクション内で例外が発生した場合、そのトランザクションの変更は失われますが、Realm 自体は影響を受けません(または破損)。 より正確には、 beginTransaction()commitTransaction()が自動的に呼び出されます。 トランザクション中に例外が発生した場合、 ではなくcancelTransaction() commitTransaction()が呼び出され、例外はwrite() の呼び出し元に再スローされます。

ネストされたトランザクション(write() 内でwrite() を呼び出す)は許可されません。

パラメーター:
  • コールバック
    • タイプ: function
戻り値: *コールバックからの戻り値。
writeCopyTo({@link)

指定された出力構成を持つ Realm の圧縮されたコピーを書込みます。

  • 入力 Realm は、ローカルまたはパーティションベースの同期、暗号化、または暗号化されていない可能性があります
  • 出力 Realm は、関数に渡される構成に応じて、ローカルまたはパーティションベースの同期、暗号化、または非暗号化になります

宛先 Realm パスは既に存在することはできません。

このメソッドが書込みトランザクション (write transaction) 内から呼び出されると、前の書込みトランザクションがコミットされた時点のデータではなく、現在のデータが書き込まれることに注意してください。

パラメーター:
  • {@link
    • Realm-Configuration|出力 Realm を記述する 構成 } 構成。

CanonicalObjectSchema

開いている Realm から取得されたスキーマの構造は、入力スキーマとは異なる場合があります。

タイプ:
Object
プロパティ:
  • name
    • タイプ: string
    • オブジェクトタイプを表します。

  • プライマリキー 任意
    • タイプ: string
    • 同じ Realm 内のこのタイプのすべてのオブジェクトで一意である必要がある"string"または"int"プロパティの名前。

  • 埋め込み 任意
    • タイプ: boolean
    • オブジェクト タイプが埋め込まれている場合は true。 埋め込みオブジェクトは、最大 1 つの親オブジェクトにリンクできます。 デフォルト値: false。

CanonicalObjectSchemaProperty
タイプ:
Object
プロパティ:
  • name
    • タイプ: string
    • このプロパティの名前。

  • タイプ
  • プロパティ 任意
    • タイプ: string
    • "linkingObjects"を使用する場合、この値はリンクされたオブジェクトのリンクされたプロパティを表します

  • 任意
    • タイプ: boolean
    • このプロパティにnullまたはundefinedが割り当てられることを示すシグナル。 非オブジェクト型の"list""dictionary" 、または"set"プロパティの場合、これは代わりにリスト内の値にnullまたはundefinedのどちらが割り当てられるかを示します。 これは、オブジェクトタイプの"list"または"set"プロパティと"linkingObjects"プロパティではサポートされていません。

  • インデックス作成
    • タイプ: boolean
    • このプロパティがインデックス化されていることを確認します。 "string""int""bool"プロパティでのみサポートされます。

  • mapTo
    • タイプ: string
    • このプロパティが設定されたエイリアスの名前。

構成

これでは、 Realmインスタンスの作成に使用されるさまざまなオプションについて説明します。

このライブラリで フォワード プロキシを使用する方法の詳細については 、「 の背後で を使用するRealmJavaScript HTTP proxy」を参照してください。HTTP

タイプ:
Object
プロパティ:
  • encryptionKey 任意
    • タイプ: ArrayBufferまたはArrayBufferView
    • Realm 内のすべてのデータを暗号化および復号化するために使用される 512 ビット(64 バイト)の暗号化キー。

  • onMigration 任意
    • タイプ: callback(Realm, Realm)
    • 移行が必要な場合に実行する関数。 この関数は、以前のスキーマから新しいスキーマにデータモデルを変換するためのすべてのロジックを提供します。 このオプションはsyncと互換性がありません。 この関数は 2 つの引数を取ります。

      • oldRealm - 移行が実行される前の Realm。
      • newRealm - 最新のschemaを使用する Realm。必要に応じて変更する必要があります。
  • deleteRealmIfMigrationMoneded 任意
    • タイプ: boolean
    • デフォルト: false
    • 移行が必要な場合にこの Realm を削除するかどうかを指定します。 このオプションは、 同期された Realm では使用できません。

  • ShouldCompact 任意
    • タイプ: callback(number, number)
    • この関数は、プロセスの有効期間中に初めて Realm を開き、ユーザーに返される前に圧縮する必要があるかどうかを判断するときに呼び出されます。 この関数は 2 つの引数を取ります: - totalSize - 合計ファイルサイズ(データ + 空き領域) - usedSize - ファイル内のデータによって使用される合計バイト数。 ファイルを圧縮する試行を行う必要があることを示すには、 trueが返されます。 圧縮は、別のプロセスがアクセスしている場合はスキップされます。

  • onFirstOpen 任意
    • タイプ: callback(realm)
    • Realm を初めて開くときに呼び出される関数。 この関数は、Realm を開く前にRealm にデータを入力できます。 コールバックを呼び出すと、Realm は書込みトランザクション (write transaction) になります。 コールバックは 1 つの引数を取ります: - realm - Realm

  • path 任意
    • タイプ: string
    • デフォルト: Realm.defaultPath
    • Realm データベースを保存するファイルへのパス。 同期された Realm では、他のアプリやユーザーとの競合を避けるために、相対パスがアプリ ID とユーザー ID とともに使用されます。 絶対パスは変更されず、一部のプラットフォーム(iOS および Android)では、アプリにファイルを作成または開く権限がない場合があります。権限は検証されません。 相対パスが指定されている場合は、 Realm.App~AppConfiguration.baseFilePathが相対的です。

  • fifoFilesFallbackPath 任意
    • タイプ: string
    • Realm を起動すると、スレッドやプロセス全体で Realm へのアクセスを調整するために、多数の FIFO 特殊ファイルが作成されます。 Realm ファイルが FIFO 特殊ファイルの作成を許可していないロケーション(例: FAT32 ファイルシステム)の場合は、Realm を開くことができません。 その場合、Realm はこれらのファイルを保存するために別の場所が必要であり、このプロパティはその場所を定義します。 FIFO 特殊ファイルは非常に軽量で、メインの Realm ファイルは引き続きpathプロパティで定義された場所に保存されます。 pathで定義されたディレクトリで FIFO 特殊ファイルが許可されている場合、このプロパティは無視されます。

  • インメモリ 任意
    • タイプ: boolean
    • デフォルト: false
    • この Realm をメモリ内で開くかどうかを指定します。 これには、Realm を識別するためのパス(デフォルト パスにすることもできます)が必要であり、他のプロセスが同じ Realm を開くことができます。 Realm がメモリに収まる範囲よりも大きくなった場合、ファイルはスワップ領域としても使用されますが、永続的ではなく、最後のインスタンスが閉じられると削除されます。 このオプションはsyncと互換性がありません。

  • readOnly 任意
    • タイプ: boolean
    • デフォルト: false
    • この Realm を読み取り専用として開くかどうかを指定します。

  • disableFormatアップグレード 任意
    • タイプ: boolean
    • デフォルト: false
    • この Realm のファイル形式が、古いバージョンの Realm ライブラリで作成された場合に、自動的にアップグレードするかどうかを指定します。 trueに設定されており、ファイル形式のアップグレードが必要な場合は、代わりにエラーがスローされます。

  • スキーマ 任意
    • タイプ: [(ObjectClass | ObjectSchema), ...]
    • この Realm 内のすべてのオブジェクトタイプを指定します。 このpathで Realm を初めて作成するときに必要です。 省略した場合、スキーマは既存の Realm ファイルから読み取られます。

  • schemaVersion 任意
    • タイプ: number
    • schemaの変更後に必須(増加する必要があります)。

  • 同期 任意
ObjectClass

Realm オブジェクトは、このコンストラクターのprototypeからメソッド、ゲッター、セッターを継承します。 このコンストラクターは から継承することをRealm.Object 強くお勧め します。

タイプ:
Class
プロパティ:
  • スキーマ
    • タイプ: ObjectSchema
    • オブジェクト スキーマ情報を指定する静的プロパティ。

ObjectSchema
タイプ:
Object
プロパティ:
  • name
    • タイプ: string
    • オブジェクトタイプを表します。

  • プライマリキー 任意
    • タイプ: string
    • 同じ Realm 内のこのタイプのすべてのオブジェクトで一意である必要がある"string"または"int"プロパティの名前。

  • 埋め込み 任意
    • タイプ: boolean
    • オブジェクト タイプが埋め込まれている場合は true。 埋め込みオブジェクトは、最大 1 つの親オブジェクトにリンクできます。 デフォルト値: false。

  • 非対称 任意
    • タイプ: boolean
    • オブジェクト タイプが非対称同期のみを対象としている場合は true。 これは、 型のオブジェクトはローカルに保存されず、ローカルでアクセスできないことを意味します。

:
let MyClassSchema = {
    name: 'MyClass',
    primaryKey: 'pk',
    properties: {
        pk: 'int',
        optionalFloatValue: 'float?' // or {type: 'float', optional: true}
        listOfStrings: 'string[]',
        listOfOptionalDates: 'date?[]',
        indexedInt: {type: 'int', indexed: true}

        linkToObject: 'MyClass',
        listOfObjects: 'MyClass[]', // or {type: 'list', objectType: 'MyClass'}
        objectsLinkingToThisObject: {type: 'linkingObjects', objectType: 'MyClass', property: 'linkToObject'}

        setOfStrings: 'string',
        setOfOptionalStrings: 'string?', // or {type: 'set', objectType: 'string'}
    }
};
ObjectSchemaProperty
タイプ:
Object
プロパティ:
  • タイプ
  • objectType 任意
    • タイプ: PropertyType
    • type"list""set""dictionary" 、または"linkingObjects"の場合に必須であり、同じスキーマ内のオブジェクトのタイプと一致する必要があります。または、 "list"の場合は 、 "set" 、または"dictionary"の場合、 Realm プロパティとして保存可能な他のタイプ。

  • プロパティ 任意
    • タイプ: string
    • type"linkingObjects"の場合に必須であり、このプロパティが属するタイプにリンクするobjectTypeで指定されたタイプのプロパティ名と一致する必要があります。

  • default 任意
    • タイプ: any
    • このプロパティの作成時に、特に指定されていない場合のデフォルト値。

  • 任意 任意
    • タイプ: boolean
    • このプロパティにnullまたはundefinedを割り当てられるかどうかを警告します。 非オブジェクト型の"list""dictionary" 、または"set"プロパティの場合、これは代わりにリスト内の値にnullまたはundefinedのどちらが割り当てられるかを示します。 これは、オブジェクトタイプの"list"または"set"プロパティと"linkingObjects"プロパティではサポートされていません。

  • インデックス作成 任意
    • タイプ: boolean
    • このプロパティをインデックス化する必要があるかどうかを判断します。 "string""int""bool"プロパティでのみサポートされます。

  • mapTo 任意
    • タイプ: string
    • プロパティ名がRealm JavaScriptファイルで使用される名前と異なる場合は、Realm ファイル内の基になるプロパティの名前にこれを設定します。これは例えば ファイルで使用されているものとは異なる命名規則を持つJavaScript Realmの場合、 を使用します。読み取りおよび書込みプロパティは、パブリック名を使用して実行する必要があります。 クエリは、パブリックと基礎となるプロパティ名の両方を使用して実行できます。

ObjectType

stringオブジェクトのタイプは、name ObjectSchema定義内の と等しい として指定される か 、configurationschema で指定されたコンストラクタとして指定されます。

タイプ:
string or ObjectClass
PropertyType

プロパティ タイプは、標準の組み込みタイプのいずれかとして指定することも、同じスキーマ内のオブジェクトタイプとして指定することもできます。

オブジェクト スキーマでプロパティ型を指定する場合、任意であることを示すために、任意のプロパティ型に?を追加できます(つまり、通常の値に加えてnullにすることもできます)。 型がTの場合、次の末尾演算子を使用できます。

たとえば、 optionalIntList: 'int?[]'は null 可能な整数のリストである プロパティを宣言し、 optionalStringSet: 'string?<>'は null 可能な文字列のセットを宣言します。 コレクションによって報告されるプロパティ型および Realm のスキーマでは、これらの形式は使用されません。

タイプ:
"bool" または"int"または"float"または"double"または"string"または"decimal128"または"objectId"または"date"または"data"または"list"または"set"または"linkingObjects"または"<ObjectType>"
プロパティ:
  • "bool"
    • タイプ: boolean
    • プロパティ値はtrueまたはfalseのいずれかです。

  • "int"
    • タイプ: number
    • プロパティには任意の数値を割り当てることができますが、丸め整数として保存されます。つまり、小数点以下は切り捨てられます。

  • "float"
    • タイプ: number
    • プロパティには任意の番号を割り当てることができますが、 floatとして保存されるため、精度が失われる可能性があります。

  • "double"
    • タイプ: number
    • プロパティには任意の数値を割り当てることができ、精度が失われることはありません。

  • "string"
    • タイプ: string
    • プロパティ値は、任意のstringにすることができます。

  • "decimal128"
    • タイプ: Decimal128
    • プロパティ値はDecimal128オブジェクトにすることができます(詳細についてはbsonを参照してください)。

  • "objectId"
    • タイプ: ObjectId
    • プロパティ値はObjectIdオブジェクトにすることができます(詳細についてはbsonを参照してください)。

  • "date"
    • タイプ: Date
    • プロパティには任意のDateインスタンスを割り当てることができます。

  • "data"
    • タイプ: ArrayBuffer
    • プロパティにはArrayBufferまたはArrayBufferViewが割り当てられます(例: DataViewInt8ArrayFloat32Arrayなど)のインスタンスでも、常にArrayBufferとして返されます。

  • "set"
    • タイプ: Realm.Set
    • プロパティには、 ObjectSchemaPropertyで指定されたobjectTypeとすべて一致するオブジェクトの配列(例: Array )を割り当てることができます。

  • "辞書"
    • タイプ: Realm.Dictionary
    • プロパティは、キーと値のペアに割り当てることができます。

  • "linkingObjects"
    • タイプ: Realm.Results
    • プロパティは読み取り専用で、Realm.Results で指定されたobjectType 関係を通じて現在のオブジェクトにリンクされている に一致するすべてのオブジェクトのproperty ObjectSchemaPropertyが常に返されます。

  • "<ObjectType>"
    • タイプ: Realm.Object
    • 同じスキーマ内のオブジェクトのnameに一致する string( ObjectSchemaを参照)。このプロパティは、同じ Realm 内のこのタイプの任意のオブジェクトに割り当てられる可能性があり、常に任意(つまり、 が割り当てられることもできます) nullまたはundefinedなど)。