CRUD - 업데이트 - Node.js SDK
이 페이지의 내용
Atlas Device SDK는 더 이상 사용되지 않습니다. 자세한 내용은 지원 중단 페이지 를 참조하세요.
객체 업데이트
다른 JavaScript 객체를 업데이트하는 것과 같은 방식으로 쓰기 트랜잭션(write transaction) 내에서 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; });
팁
관련 객체 및 내장된 객체 업데이트
내장된 객체 또는 관련 객체 의 속성 을 업데이트 하려면 점 표기법 또는 괄호 표기법 을 사용 하여 속성 을 수정합니다. 일반 중첩 객체 에 있는 것처럼 보입니다.
객체 업서트
객체를 업서트하려면 업데이트 모드를 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" ); });
컬렉션 대량 업데이트
객체 컬렉션에 업데이트를 적용하려면 컬렉션을 반복합니다(예:for...of). 루프에서 각 객체를 개별적으로 업데이트합니다.
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; } });