发表于 2015-7-9 13:20:37

Mongodb 级联删除查询操作

  ObjRelationPojo表一条记录
  



public class YpObjRelationPojo implements Serializable {
@Id
private String id;// '主键id'
@Field("sourceid")
private String sourceId;//对象id
@Field("targetid")
private String targetId;//对象id
@Field("caseId")
private String caseId;//案件id
@Transient//配置透明属性
private int source;// '关系起点   不存数据库
@Transient
private int target;// '关系终点不存数据库
@Transient
private String color;
@Transient
private String relation;// '关系名称'
@Field("relation_type")
@DBRef
private YpRelationTypePojo relation_type;
@Field("create_time")
private Date create_Time;// '创建时间'

  省略了set,get方法
  @DBRef用于关联对象
  {
"_id" : ObjectId("54a24e8a25600d768a4e13ac"),
"sourceid" : "54a20a6dd9d886078991aa98",
"targetid" : "54a209dfd9d886078991aa95",
"caseId" : "100",
"relation_type" : {
    "$ref" : "relationtype",
    "$id" : ObjectId("54a21b0ad9d886078991aa9e")
}
}
  如果需要查找出这条记录中的relation_type,查看相关联的对象
  我们需要使用点表示法则
  Id为relation_type表的记录id
  ObjectId objectId = new ObjectId(Id);
  Query query1=Query.query(Criteria.where("relation_type.$id").is(objectId));
  List r=mongoTemplate.find(query1, YpObjRelationPojo.class, "YpObjRelationPojo");
  找出之后,删除该字段
  Update update=new Update();
  update.unset("relation_type");
页: [1]
查看完整版本: Mongodb 级联删除查询操作