使用MongoTemplate在列表中插入对象

时间:2016-04-01 12:43:30

标签: spring mongodb spring-data spring-data-mongodb

我有以下结构:

{ 
    "_id" : "adddddddddddd", 
    "_class" : "com.fluidm.service.identity.entity.Item", 
    "itemName" : "satyam", 
    "personList" : [ ]
}

我有一个集合,请说" item"将MongoDB内部存储的人员列表作为数组。

我想使用 MongoTemplate 方法将人物对象或一堆人物对象插入到列表中。

我尝试过推送方法,但没有工作。

mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is("​adddddddddddd")), new Update().push("personList", person), Item.class);

PS:我不想使用原生方法来插入数据。

1 个答案:

答案 0 :(得分:4)

使用我在@field注释中为字段指定的名称替换实体的字段名称。原因是MongoTemplate使用实际存储在DB中的名称检测这些字段。

mongoTemplate.updateFirst(Query.query(Criteria.where(" _id")。是(" addddddddddddd")),new Update()。push(" person_list",person)," item");