我的表格结构如下:
with open(fname) as d:
data = d.readlines()
tweet = [json.loads(x) for x in data]
我的数据已成功保存 刷新时我的json不发送组ID 3,我需要更改其状态。
检查代码如下:
public class GroupDailyDB extends RealmObject{
@PrimaryKey
private int groupId;
private String groupName;
private String groupDescription;
private int groupStatus;
private boolean hasImage;
private int sweatPoints;
private long steps;
private int rank;
private float percentile;
private int noOfUsers;
private boolean isCurrentUserPartOfGroup;
private boolean isCurrentUserOwner;
}
但我的日志分别打印了id 4,5,它永远不会返回我的身份3
答案 0 :(得分:1)
所以,想一想......你有一个包含3个对象的列表,每个对象都有一个唯一的ID值。循环其他一些ID值列表,查询其ID不等于循环当前ID的3个对象。
对于匹配ID(您将其过滤掉)的情况,该查询将返回2个元素,对于不匹配的ID,将返回3个元素。您只获得这些查询的第一个元素,并且您对丢失的数据感到困惑?
如果是唯一ID值,则应使用equalTo
查找匹配的一个元素。也可能想要在没有ID值相等的情况下添加一些异常检查(当findFirst没有返回任何对象时)
答案 1 :(得分:0)
您的代码不应该像
RealmQuery<GroupDailyDb> query = realm.where(GroupDailyDB.class);
for(int i = 0 ; i < groupModel.getData().size() ; i++){
query = query.notEqualTo("groupId",groupModel.getData().get(i).getGroupId());
}
GroupDailyDB groupDailyDB = query.findFirst();
Log.i(TAG,"Group id delete daily: "+groupDailyDB.getGroupId());