객체 업데이트 중
Parse GraphQL API를 통한 객체 업데이트
문제
Parse GraphQL API를 통해 데이터베이스에 있는 기존 객체를 업데이트하고자 합니다.
해결책
Parse GraphQL을 사용하여 데이터베이스에 있는 기존 객체를 업데이트하는 두 가지 방법이 있습니다:
버전 정보
실행할 Parse 버전에 따라 GraphQL 쿼리, 변형 및 결과가 약간 다를 수 있습니다. 실행 중인 Parse 버전과 함께 올바른 예제를 선택하십시오.
일반 변형 사용하기
일반 변형인 update를 사용할 때, Parse Server는 스키마 없는 데이터베이스처럼 동작합니다. 즉, 객체의 모든 필드를 미리 정의할 필요가 없다는 의미입니다. 업데이트하려는 필드만 전송하면 Parse Server는 이를 저장할 뿐만 아니라 학습하고, 이 객체의 클래스에 새로운 필드를 자동으로 생성합니다.
따라서 객체의 update 일반 변형은 객체의 클래스에 아직 속하지 않는 필드를 설정하려는 경우 기존 객체를 업데이트하는 데 반드시 사용해야 하는 방법입니다. 실제로 이 변형을 사용하여 기존 객체를 업데이트할 수 있지만, 객체의 클래스에 업데이트하려는 모든 필드가 이미 있는 경우 클래스 변형을 사용하는 것이 좋습니다.
이 예제는 기존 객체의 className과 objectId를 사용할 때만 작동합니다. 객체 생성 레시피를 사용하여 객체를 생성할 수 있습니다.
Parse 3.8.0
1 mutation UpdateObject {
2 update(className: "Hero", objectId: "rR8jmFRnkS", fields: { height: 5.6 }) {
3 updatedAt
4 }
5 }예제 Parse 3.9.0 및 이후 버전:
Parse 3.9.0 및 이후 버전에서는 일반 메서드 UPDATE가 없습니다. 객체를 업데이트하려면 아래의 특정 메서드를 사용해야 합니다.
클래스 변형 사용
응용 프로그램의 스키마에서 객체의 클래스를 이미 생성한 경우(예: 객체 생성 레시피 사용), Parse Server는 즉시 GraphQL API에 이 클래스의 기존 객체를 업데이트하기 위한 새로운 update<ClassName> 변형을 추가합니다.
따라서 객체의 클래스 변형은 객체의 클래스에 업데이트하려는 모든 필드가 이미 있는 경우 기존 객체를 업데이트하는 데 권장되는 방법입니다. 이 변형은 클래스의 데이터를 알고 있으므로 코드 자동 완성 및 유효성 검사와 같은 추가 기능을 자동으로 사용할 수 있습니다. 또한 클래스 업데이트 변형을 통해 날짜, 포인터, 관계, 파일, 지리적 포인트, 다각형 또는 바이트를 전송할 때 데이터 유형을 지정할 필요가 없습니다.
Parse 3.10.0 및 이후 버전
1 mutation UpdateObject {
2 updateHero(input: {
3 id: "SGVybzpVRm5TVDM1YnBp"
4 fields: {
5 height: 5.6
6 }
7 }){
8 hero{
9 updatedAt
10 }
11 }
12 }