如何保存mongodb中的一对多关系
现在遇到这么一个问题
有以下2个实体
@Document
public class ProductInfo {
@Id
private ObjectId id ;
private String productName;
@DBRef
private List<ReleaseInfo> releaseinfo ;
}
@Document
public class ReleaseInfo{
@Id
private ObjectId id ;
private String rname;
}
逻辑为先 生成projectId 再生成Release
以下是我的实现代码
@RequestMapping(value = "/add")
public @ResponseBody Result add(ReleaseInfo release,HttpServletRequest req) {
String productId =req.getParameter("productId");
save(release);
List<ReleaseInfo> rlst ;
Query query =new Query(Criteria.where("id").is(productId));
ProductInfo product =mongoTemplate.findOne(query,ProductInfo.class);
if(product.getReleaseinfo()==null){
rlst=new ArrayList<ReleaseInfo>();
}else{
rlst=product.getReleaseinfo();
}
rlst.add(release);
Update update =new Update();
//DBRef dbref =new DBRef();
update.set("releaseinfo", rlst);
//query.
mongoTemplate.findAndModify(query, update, ProductInfo.class);
return Result.ok();
}
但是奇怪的是 进入MongoDB中的时候,他的展示形式是
release:[{ObjectId:....},{bjectId:....}]
但是我想要的结果应该是
DBRef{
“releaseInfo”,ObjectId:{....}
}
求大神解答