Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

CRUD - 업데이트 - Node.js 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;
}
});

참고

역관계

Dog.ownerPerson.dogs역관계 덕분에 Realm은 Ali를 강아지의 주인으로 설정할 때마다 Ali의 개 목록을 자동으로 업데이트합니다.

돌아가기

읽기