使用 MongoTemplate 在列表中插入对象

0 spring mongodb spring-data spring-data-mongodb

我有以下结构:

\n\n
{ \n    "_id" : "adddddddddddd", \n    "_class" : "com.fluidm.service.identity.entity.Item", \n    "itemName" : "satyam", \n    "personList" : [ ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我有一个集合,比如说“项目”,其中包含人员列表,这些人员列表在内部作为数组存储在 MongoDB 中。

\n\n

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

\n\n

我尝试过推送方法,但没有成功。

\n\n
mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is("\xe2\x80\x8badddddddddddd")), new Update().push("personList", person), Item.class);\n
Run Code Online (Sandbox Code Playgroud)\n\n

PS:我不想使用本机方法插入数据。

\n

Sat*_*yam 7

将实体的字段名称替换为我在字段的 @field 注释中指定的名称。原因是 MongoTemplate 检测到那些具有实际存储在数据库中的名称的字段。

\n\n
mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is("\xe2\x80\x8badddddddddddd")), new Update().push("person_list", person), "item");\n
Run Code Online (Sandbox Code Playgroud)\n