在我的React-Native应用程序中,我需要更新一些对象,但我不能像教程那样做:
realm.write(() => {
// Create a book object
realm.create('Book', {id: 1, title: 'Recipes', price: 35});
// Update book with new price keyed off the id
realm.create('Book', {id: 1, price: 55}, true);
});
因为我的对象没有主键(我不希望它们有主键)
my try :
this.state.realm.write(() => {
this.state.realm.create('Bills', {type: this.state.billType,
creditor: this.state.billCreditor, month: this.state.billMonth,
year: this.state.billYear, price: this.state.billPrice}, true);
});
但是这个尝试显然会创建另一个对象^^
有人对我的问题有所了解吗?感谢所有=)
答案 0 :(得分:1)
最后,我使用UUID作为主键^^“
答案 1 :(得分:0)
目前,Realm不支持更新没有主键的对象。请参阅this GitHub问题。
如果您真的想要实现这一点,则必须从Realm中删除该对象,然后使用更新的值添加该对象。
但是,我不推荐这种方法。在大多数情况下创建主键是最佳解决方案,因此您应该重新考虑使用它。在大多数情况下,内置更新方法比没有使用主键可以编写的任何方法具有更好的性能。