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;
 }

「リード」は、次のような別の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;
}

そして問題は、1つのリードを更新しながら実績にデータを挿入したいということです。春の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 に答える