오늘도 더 나은 코드를 작성하였습니까?

Realm kotlin schem(Data Type) 본문

kotlin Multiplatform/realm-kotlin-kmm

Realm kotlin schem(Data Type)

hik14 2022. 7. 25. 15:30

지원 데이터 Type

String, Byte, Char, Short, Int, Long, Boolean, Double, Float

 

Any RealmObject subclass, RealmList

 

ObjectId

- GUID 또는 UUID와 유사하며

- 중앙 집중식 ID 생성기 없이 객체를 고유하게 식별하는 데 사용
- ObjectId 필드를 기준으로 정렬하면 일반적으로 생성 순서대로 객체가 정렬됨.

 

RealmInstant

- Realm 데이터베이스에 Kotlin의 built-in Date 또는 Instant types 을 저장할 수 없습니다.

- 시간 정보를 UNIX epoch 타임스탬프로 저장하는 RealmInstant 유형을 사용

 

 

Realm 데이터베이스는 10진수가 아닌 모든 숫자 유형을 Long 값으로 저장합니다. 마찬가지로 Realm 데이터베이스는 모든 십진수 유형을 Double 값으로 저장합니다.

 

Realm 데이터베이스는 수정자 final 및volatile 이 있는 필드를 지원하지 않는다.

아무런 동작을 하지는 않지만, 해당 수정자와 함께 필드를 사용할 수 있습니다.

 

사용자 지정 생성자를 제공하기로 선택한 경우, 인수가 하나도 없는 공용 생성자를 선언해야 합니다.

 

* 현재까지 data class 를 지원하지 않는다.

반드시 주생성자를 인수없는 공용생성자로 생성해야된다.

 

class Person : RealmObject {

    var name: String = ""
    var age: Int = 0

    override fun toString(): String {
        return "Person(name='$name', age=$age)"
    }
}

Updating Strings and Byte Arrays

Realm 데이터베이스는 필드 전체에서 작동하기 때문에 문자열이나 바이트 배열의 개별 요소를 직접 업데이트하는 것은 불가능합니다. 

즉, 쿼리를 통해 문자열의 일부 배열의 일부 요소를 변경하는것은 불가능하다

 

전체 필드를 읽고 개별 요소를 수정한 다음 전체 필드를 트랜잭션 블록에 다시 작성해야 합니다.

'kotlin Multiplatform > realm-kotlin-kmm' 카테고리의 다른 글

Realm Kotlin Create  (0) 2022.07.25
Realm Transaction  (0) 2022.07.25
Realm kotlin scheme  (0) 2022.07.25
Frozen Architecture - Kotlin SDK  (0) 2022.07.25
Realm (Kotlin)  (0) 2022.07.22