程序员

Realm Error: “JS value must be o

2017-05-21  本文已影响193人  who_young

最近在做一个 React Native APP PasswordAssistant 的时候,需要用到数据持久化存储,最终选择用Realm。

在设置ream对象的schema时,我设置了一个主键(primaryKey) “id”,

设置shema

在执行realm.create(),并没有设置id的值。

未给主键(primaryKey)赋值

导致报错:Realm Error: “JS value must be of type: number” 。

由于习惯性的认为realm的主键像一般数据库一样,可以设置自增加的主键,因为没有查到realm如何设置自增加的主键,便理所当然的认为,设置了主键realm便会默认自增加。实践证明,too young,too naive。事实上,官方文档中:"You can specify the primaryKey property in an object model for string and int properties",既然主键可以是字符串类型,也就意味着,realm的主键不会默认为整型类型一样自增长。

所以,既然设置的主键,在执行realm.create()时,就要给主键赋值,即使将主键的属性 optional设为true,也不可不赋值。另外,主键的值必须是唯一的。

给主键(primaryKey)赋值

stackoverflow

上一篇下一篇

猜你喜欢

热点阅读