我从 Spring 和 MongoDB 开始。我已经看到有几种方法可以插入和/或更新。我还在这里阅读了一些解释一些概念的帖子。但我不太了解他们。 如果我错了或有遗漏,请纠正我。
Update():只更新一个对象,并且只有当它有一个 id 时才有效。
Upsert():如果对象存在则进行更新(它必须有一个 id)或者如果它不存在则插入它。
Insert():不需要 id 就可以将 Document 添加到集合中。
save():我真的不知道与插入的区别。
如果有更多类似的方法并且我忘了提及,我将不胜感激,如果您也能解释一下。
答案 0 :(得分:0)
保存
save 方法将文档保存到给定对象的实体类型的集合中。当我们传递集合名称时,即使实体是不同类型的,文档也会保存在指定的集合中。
`Student ram = new Student(101,"Ram",20);
mongoTemplate.save(ram);
Person newPerson = new Person(102, "Shyam");
mongoTemplate.save(newPerson, "student"); `
保存后
{ "_id" : 101, "name" : "Ram", "age" : 20, "_class" : "com.concretepage.entity.Student" }
{ "_id" : 102, "name" : "Shyam", "_class" : "com.concretepage.entity.Person" }
插入
为了将文档插入到 MongoDB 集合中,MongoTemplate 提供了 insert 方法。找到插入一个文档的代码。
Student ram = new Student(1,"Ram",20);
mongoTemplate.insert(ram);
插入后
{ "_id" : 1, "name" : "Ram", "age" : 20, "_class" : "com.concretepage.entity.Student" }
欲了解更多信息,请参阅以下链接
https://www.concretepage.com/spring-5/spring-data-mongotemplate