嘿,我们试图只在记录是新的时更新我的表(我的存储表中没有通过检查记录的objectId存在)我的objectId是主键, 我尝试添加条件realm.where(NotesRealmClass.class).notEqualTo("objectId", Id);
但它没有似乎工作我怎样才能添加一条记录仅记录是新的,或者我们可以说 - 停止更新先前存储的记录只有在记录是新的时才更新Realm表(012)
public void storeNotes(String Id, String Title ,String Location) {
realm.beginTransaction();
NotesRealmClass Notes = new NotesRealmClass();
Notes.setobjectId(Id);
Notes.setLocation(Location);
Notes.setTitle(Title);
realm.where(NotesRealmClass.class).notEqualTo("objectId", Id); // i tired to check if we already have the object with object Id
realm.copyToRealmOrUpdate(Notes);
Toast.makeText(context, "Notes Stored", Toast.LENGTH_SHORT).show();
realm.commitTransaction();
}
那么这是一个更完整的答案!肯定会_不推荐'try ... catch'方法;例外情况很慢,并且如果您试图插入数千个可能最终成本很高的对象。第二种方法是要走的路 - 我们没有['objectForPrimaryKey'](https://realm.io/docs/swift/latest/api/Classes/Realm.html#/s:FC10RealmSwift5Realm19objectForPrimaryKeyuRdq_CS_6Object_FS0_FTMq_3keyPSs9AnyObject__GSqq__)方法他们进入Swift。 –
是的,你是对的! –
嘿非常感谢它的工作 –