Spring boot mongo - 如何从集合中引用其他集合中的文档

anu*_*har 6 mongodb spring-boot

我有 Office 对象:

class Office{
   String address;
   int employees;
   String city;
   String State;
   ---- lot of other fields
}
Run Code Online (Sandbox Code Playgroud)

我有mongoOffice 类的集合,可以说上面的 Office 类表示 100 个 Office 文档。

然后我有 Employee 类:

class Employee{
   String firstName;
   String lastName;
   Office office;
   -----other fields
}
Run Code Online (Sandbox Code Playgroud)

在 Employee 类的 mongo 集合中,我如何防止为每个 Employee 条目复制 Office 对象。

spring-boot mongodb有没有办法可以参考我局收集来表示,而不是复制它在蒙戈DB每个员工的员工的Office对象。我希望我已经解释了我的问题。

提前致谢。

Fab*_*ira 4

您可以在 Mongo 中使用 DBRef。Spring Data 为此提供了一个注释:

@DBRef

但是,请注意,MongoDB 是一种面向文档的 NoSQL,是将内容嵌入到文档中的良好实践。这种方法可能会导致更大的问题。

编辑:

使用 @DBRef这样的: https: //docs.spring.io/spring-data/data-mongo/docs/1.7.0.RELEASE/reference/html/#mapping-usage-references