我想从域中删除所有与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();

推荐答案

在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();
    }
});

从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();
    }
});

Database相关问答推荐

避免数据库联接的两个查询替换

如何高效地存储 100 万个单词并通过starts_with、contains 或ends_with 进行查询?

数据库是序列图中的控制器还是边界?

创建一个spell check,判断具有合理运行时间的数据库

add_index 到数据模型 - Ruby on Rails 教程

用于为 Android 设计 SQLite 数据库的开发人员工具

MS Access:如何在 VBA 中压缩当前数据库

在事务提交之前传递 JMS 消息

多少个外键才算太多?

CouchDB 和 Lotus Notes 有什么区别?

对百万行表,MySQL 的 LIKE 查询的性能怎样?

无法启动 MongoDB:Windows 中的系统错误 1067

在 MySQL 中实现一对一关系时确定外键

nvarchar (50) 与 nvarchar (max) 的含义

将数据库表用作作业(job)队列的最佳方式是什么?

Sitecore - 将项目从 Web 移动到 Master?

使用存储过程是一种不好的做法吗?

JPA:处理 OptimisticLockException 的模式

哪个更重要?数据库设计或编码?

如何使用 group_concat 引用值