使用Spring-data-MongoDb。 在我们有以下文件的情况下
@Document
public class Company {
.
.
@DBRef
List<Person> personnel;
}
和Person类。
@Document
public class Person {
@Id
public String id;
public String name;
.
.
}
现在,如果我在mongodb中拯救了一些人,ids比100和200,那么与这些人一起拯救公司的最佳方式是什么?
答案 0 :(得分:2)
首先使用MongoRepository接口创建存储库。你自动连接到某个组件/你的应用程序。
然后,您可以根据需要创建对象并将其保存到数据库。你只需用嵌套的人pojos创建pojo并调用save。
请注意,人员需要设置ID并且应该存在于数据库中。请记住,在mongodb中使用@Dbref时没有级联!
public interface CompanyRepository extends MongoRepository<Company,String>
{
}
...
@Autowired
CompanyRepository repository
public void createCompany(String name, List<Person> persons)
{
Company company = new Company();
company.setName(name);
company.setPersonnel(persons);
repository.save(company);
}
答案 1 :(得分:0)
使用懒惰
@Document
public class Company {
.
.
@DBRef(lazy=true)
List<Person> personnel;
}
And the Person class.
@Document
public class Person {
@Id
public String id;
public String name;
.
.
}