【发布时间】:2018-11-20 11:57:43
【问题描述】:
我在我的 React Native 项目中使用 Realm。领域是加密的。我将用户对象存储在其中,并且只有一个用户,因此我始终将 Id 设置为 1。
当对象存在时,我只想更新它而不是创建。我该怎么做。到目前为止,我可以创建它,但一旦创建,我就无法更新它。
错误提示信息
Error: Attempting to create an object of type 'User' with an existing primary key value '1'.
我的代码:
//user schema functions
export const insertUser = user => new Promise ((resolve, reject) => {
var encryptedPin = cryptoEncryptTest(getGlobalPin());
Realm.open(
{path: 'retailApp.realm',
schema: [ userSchema],
schemaVersion: 0, //optional
encryptionKey: encryptedPin }
//databaseOptions
).then(realm => {
realm.write(() => {
realm.create(USER_SCHEMA, user);
resolve(user);
});
}).catch((error) => reject(error));
});
我读到了copyToRealm 和append,但我不确定如何使用以及哪种是写入方式。我尝试在插入之前将其删除,但我认为这不是正确的做法。
请提出如何实现这一点。
谢谢 回复
【问题讨论】:
标签: react-native realm realm-mobile-platform