Realm - Insert if realm object does not exist else update
I am using Realm in my react native project. Realm is encrypted. I am storing user object in it and there will be only one user so I have set the Id to be 1 always.
when the object exists, I just want to update it instead of create. How can i do it. as of now I can create it but once created I am unable to update it.
It errors with a message
Error: Attempting to create an object of type 'User' with an existing primary key value '1'.
my code:
//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));
});
I read about copyToRealm
and append
but I am not sure how to use and which is the write way. I tried to delete it before inserting but I dont think that is the right way of doing it.
please suggest how to achieve this.
Thanks
R
react-native realm realm-mobile-platform
add a comment |
I am using Realm in my react native project. Realm is encrypted. I am storing user object in it and there will be only one user so I have set the Id to be 1 always.
when the object exists, I just want to update it instead of create. How can i do it. as of now I can create it but once created I am unable to update it.
It errors with a message
Error: Attempting to create an object of type 'User' with an existing primary key value '1'.
my code:
//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));
});
I read about copyToRealm
and append
but I am not sure how to use and which is the write way. I tried to delete it before inserting but I dont think that is the right way of doing it.
please suggest how to achieve this.
Thanks
R
react-native realm realm-mobile-platform
add a comment |
I am using Realm in my react native project. Realm is encrypted. I am storing user object in it and there will be only one user so I have set the Id to be 1 always.
when the object exists, I just want to update it instead of create. How can i do it. as of now I can create it but once created I am unable to update it.
It errors with a message
Error: Attempting to create an object of type 'User' with an existing primary key value '1'.
my code:
//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));
});
I read about copyToRealm
and append
but I am not sure how to use and which is the write way. I tried to delete it before inserting but I dont think that is the right way of doing it.
please suggest how to achieve this.
Thanks
R
react-native realm realm-mobile-platform
I am using Realm in my react native project. Realm is encrypted. I am storing user object in it and there will be only one user so I have set the Id to be 1 always.
when the object exists, I just want to update it instead of create. How can i do it. as of now I can create it but once created I am unable to update it.
It errors with a message
Error: Attempting to create an object of type 'User' with an existing primary key value '1'.
my code:
//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));
});
I read about copyToRealm
and append
but I am not sure how to use and which is the write way. I tried to delete it before inserting but I dont think that is the right way of doing it.
please suggest how to achieve this.
Thanks
R
react-native realm realm-mobile-platform
react-native realm realm-mobile-platform
asked Nov 20 '18 at 11:57
BRDroidBRDroid
67421331
67421331
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You can update
var song = realm.objects('song')//replace with your object(USER_SCHEMA)
realm.write(() => {
realm.delete(song);
realm.create('song', currentSong, true);
})
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53392516%2frealm-insert-if-realm-object-does-not-exist-else-update%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can update
var song = realm.objects('song')//replace with your object(USER_SCHEMA)
realm.write(() => {
realm.delete(song);
realm.create('song', currentSong, true);
})
add a comment |
You can update
var song = realm.objects('song')//replace with your object(USER_SCHEMA)
realm.write(() => {
realm.delete(song);
realm.create('song', currentSong, true);
})
add a comment |
You can update
var song = realm.objects('song')//replace with your object(USER_SCHEMA)
realm.write(() => {
realm.delete(song);
realm.create('song', currentSong, true);
})
You can update
var song = realm.objects('song')//replace with your object(USER_SCHEMA)
realm.write(() => {
realm.delete(song);
realm.create('song', currentSong, true);
})
answered Nov 20 '18 at 12:13
AshaAsha
2081316
2081316
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53392516%2frealm-insert-if-realm-object-does-not-exist-else-update%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown