I have a User model in client ios application.
class User: Object {
@objc dynamic var _id = ""
@objc dynamic var _partition = ""
@objc dynamic var username = ""
@objc dynamic var image = ""
@objc dynamic var email = ""
@objc dynamic var exp:Int = 0
@objc dynamic var level:Int = 0
override static func primaryKey() -> String? {
return "_id"
}
}
I turned dev mode ON, enabled Sync and open realm from client application.
However, the atlas document automatically inserted was incorrect.
User didn’t have “exp” and “level”.
・Creating an object in a realm(I used asyncOpen)
try! realm.write {
let appUser = User(value: [
"_id" : (user!.id)!,
"_partition" : (user!.id)!,
"username" : "NoNameMan",
"image" : "https://◯◯◯.jpg",
"email" : "sifjeiowojoao@gmail.com",
"exp" : Int(0),
"level" : Int(0)
]
)
realm.add(appUser, update: .modified)
}
・Result in Atlsa Cluster
{
"_id":"aaaaaa11bbbbbb22ccccc33",
"_partition":"aaaaaa11bbbbbb22ccccc33",
"email":"sifjeiowojoao@gmail.com",
"image":"https://◯◯◯.jpg",
"username":"NoNameMan"
}
I tried to add @objc dynamic var aaa = ""
to User model, then opened realm and add a User object.
Then inserted document had “aaa”.
・Result in remote Realm
・Result in Atlsa Cluster
{
"_id":"aaaaaa11bbbbbb22ccccc33",
"_partition":"aaaaaa11bbbbbb22ccccc33",
"aaa":"aaaaa",
"email":"sifjeiowojoao@gmail.com",
"image":"https://◯◯◯.jpg",
"username":"NoNameMan"
}
Why did only datas at Int property fail to synchronize?