5

我正在使用 Spring MongoDB,现在我遇到了将值插入数组列表的问题。这是我的 POJO 类结构...

public class Search implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    private String id;
    private String searchkey;
    private ArrayList<Lead> leads;
 }

“Lead”是另一个 POJO 类,就像......

public class Lead implements Serializable {

private static final long serialVersionUID = 1L;
private String leadtext;
private String address;
private ArrayList<History> trackrecords;
}

“历史”是另一个 POJO 类,就像..

public class History implements Serializable {

private static final long serialVersionUID = 1L;
private String id;
private String changedfield;
private String oldvalue;
private String newvalue;
}

问题是我想在更新一条线索时将数据插入跟踪记录。春天的mongotemplate有可能吗??如果可能的话,请帮助我。先感谢您

4

2 回答 2

4

请试试这个。

假设leadtext可以唯一地定位该lead元素。

Query query = new Query().addCriteria(Query.where("searchkey").is(searchkey).and("leads.leadtext").is(leadtext));
Update update = new Update().push("leads.$.trackrecords", trackrecord);
mongoTemplate.updateFirst(query, update, Search.class);
于 2014-09-19T09:58:02.640 回答
2

使用 mongodb $push 插入或更新到现有的 arraylist

于 2014-09-19T08:51:43.417 回答