繁体   English   中英

Spring Data Mongo 链接文档存储

[英]Spring Data Mongo Linked Document Storage

Spring Data Mongo 是否有一种模式支持将链接持久化到单独集合中的单独文档,并在它从数据库中撤出时自动重新水合?

@Document
class Person <-- Saves to the Person Collection
  @id
  UUID id
  String name
  Address address 

@Document
class Address --
  @id
  UUID id
  String address1
  ...

调用save(person)我希望数据库中的地址属性反映地址 ID,并将地址对象保存到地址集合中。 当我把 Person 拉回来时,Address 将是一个完全水合的(或者可能是懒惰的?)并且可以访问。

  • Spring Data Mongo 3.1
  • 弹簧靴 2.4
  • 常规 2.5
  • JDK11

在编写 Spring Data MongoDB 3.2 时,仅支持通过DBRefs链接文档。 然而,那些遵循固定结构,因此表示目标文档中链接的值如下所示

{ "$ref" : <value>, "$id" : <value>, "$db" : <value> }

@DBRef允许通过其lazy属性进行延迟加载。 请查看参考文档

即将发布的Spring Data MongoDB 3.3版本将扩展对链接文档的支持以涵盖上述用例。 链接的文档仍然需要自己持久化。 @DocumentReference允许通过id属性链接Address ,如下所述。

@Document
class Person {

  @Id
  String id;

  @DocumentReference
  Address address;
}
{ 
  "_id" : "p1457",
  "name" : "...", 
  "address" : "a4711"
}

@DocumentReference还将支持延迟加载并可用于链接文档集合。 请在此处找到完整的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM