Pra*_*noi 43 database android realm
我想从领域中删除所有等于userid的消息对象
RealmQuery<Message> rowQuery = realm.where(Message.class).equalTo(Message.USER_ID, userId);
realm.beginTransaction();
//TODO : here I want to remove all messages where userId is equal to "9789273498708475"
realm.commitTransaction();
Run Code Online (Sandbox Code Playgroud)
Chr*_*ior 111
在0.88.3及以下,您可以:
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
RealmResults<Message> rows = realm.where(Message.class).equalTo(Message.USER_ID,userId).findAll();
rows.clear();
}
});
Run Code Online (Sandbox Code Playgroud)
从0.89(下一个版本)开始,这将是deleteAllFromRealm()相反的.
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
RealmResults<Message> result = realm.where(Message.class).equalTo(Message.USER_ID,userId).findAll();
result.deleteAllFromRealm();
}
});
Run Code Online (Sandbox Code Playgroud)
这必须在realm.beginTransaction();之间完成。和realm.commitTransaction(); 我还在代码示例中列出了一些args()。
realm.beginTransaction();
MessageObject messageobj = realm.where(Message.class)
.findFirst() //or
.greaterThan("age", 10) // implicit AND
.beginGroup() //or you can use
.equalTo("name", "Peter")
.or()
.contains("name", "Jo")
.endGroup()
.findAll();
messageobj.deleteFromRealm();
realm.commitTransaction();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56050 次 |
| 最近记录: |