更新数组上的对象

时间:2016-09-24 03:35:59

标签: java mongodb mongodb-java morphia nosql

如何更新数组中的特定对象?

对于下面的结构,使用morphia,如何更新具有特定ID的Obj2?

@Entity("obj1")
public class Obj1 {

    @Id
    private String id;

    private List<Obj2> objs = new ArrayList<>();


    public Obj1() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public List<Obj2> getObjs() {
        return objs;
    }

    public void setObjs(List<DataSource> objs) {
        this.objs = objs;
    }

}

嵌入式对象

@Embedded
public class Obj2 {

    @Id
    private String id;

    private String name;

    public Obj2() {
    }


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

1 个答案:

答案 0 :(得分:0)

除非您手动执行,否则

@Embedded个课程不会获得ID。除此之外,您还必须在应用中加载Obj1实例,找到您感兴趣的特定Obj2实例,在内存中更新该对象并保存{ {1}}实例。