CRUD - Update - Node.js SDK
Atlas Device SDK は非推奨です。 詳細については、 の廃止ページを参照してください。
オブジェクトの更新
書込みトランザクション内で他の JavaScript オブジェクトをアップデートするのと同じ方法で、Realm オブジェクトのプロパティを追加、変更、または削除できます。
// Open a transaction. realm.write(() => { // Get a dog to update. const dog = realm.objects("Dog")[0]; // Update some properties on the instance. // These changes are saved to the realm. dog.name = "Maximilian"; dog.age += 1; });
Tip
関連オブジェクトと埋め込みオブジェクトの更新
埋め込みオブジェクト または 関連オブジェクト のプロパティを更新するには、 ドット表記または括弧表記 でプロパティを変更します。 : 通常のネストされたオブジェクト内にある場合と同様に。
オブジェクトのアップサート
オブジェクトをアップサートするには、更新モードを modified
に設定してRealm.create()を呼び出します。 この操作では、指定されたプライマリキーを持つ新しいオブジェクトを挿入するか、そのプライマリキーをすでに持っている既存のオブジェクトを更新します。
realm.write(() => { // Add a new person to the realm. Since nobody with ID 1234 // has been added yet, this adds the instance to the realm. person = realm.create( "Person", { _id: 1234, name: "Joe", age: 40 }, "modified" ); // If an object exists, setting the third parameter (`updateMode`) to // "modified" only updates properties that have changed, resulting in // faster operations. person = realm.create( "Person", { _id: 1234, name: "Joseph", age: 40 }, "modified" ); });
コレクションの一括更新
オブジェクトのコレクションにアップデートを適用するには、コレクションに対して反復処理(例: の )。ループ内で、各オブジェクトを個別に更新します。
realm.write(() => { // Create someone to take care of some dogs. const person = realm.create("Person", { name: "Ali" }); // Find dogs younger than 2. const puppies = realm.objects("Dog").filtered("age < 2"); // Loop through to update. for (const puppy of puppies) { // Give all puppies to Ali. puppy.owner = person; } });