Java Spring Mongodb-插入嵌套文档?
我有以下课程Java Spring Mongodb-插入嵌套文档?,java,spring,mongodb,spring-data-mongodb,Java,Spring,Mongodb,Spring Data Mongodb,我有以下课程 @Document public class PersonWrapper { @Id private ObjectId _Id; @DBRef private Person person // Getters and setters removed for brevity. } public class Person { @Id private ObjectId _Id; private String nam
@Document
public class PersonWrapper {
@Id
private ObjectId _Id;
@DBRef
private Person person
// Getters and setters removed for brevity.
}
public class Person
{
@Id
private ObjectId _Id;
private String name;
// Getters and setters removed for brevity.
}
我有下面的MongoReposityClass
public interface PersonWrapperRepository extends MongoRepository<Person, String> {
Person findByPerson_name(String name);
}
现在,虽然这将影响工作-我发现我需要先插入“Person”,然后将返回的对象添加到PersonWrapper,然后再进行另一次插入
这很好,而且我确信我可以编写一些流控制来捕捉错误,并在出现故障时表现出明智的行为
然而,每个人都知道这将是低效的,因为它是两个电话保存。必须有一种方法可以基本上创建嵌套对象,在ParentWrapper上进行插入,如果Person实例不存在,让mongo插入它,对吗
我已经被谷歌搜索过了,但在获取我想知道的信息时遇到了一些问题。这是spring data mongodb无法做到的。该框架缺乏处理嵌套对象的能力,而您将其放入try-catch的方式几乎是唯一的方法。有人能帮我吗?也许这个框架还不能做到这一点?我还没有在网上找到一个答案。真的吗?但是如果这样的事情做不到,那么它就完全否定了坚持的意义。到目前为止,MongoDb一直让我们失望。
repo.insert(personWrapperInstance);