【问题标题】:spring-data-mongodb converters on embedded documents doesn't work嵌入式文档上的 spring-data-mongodb 转换器不起作用
【发布时间】:2016-05-24 19:03:51
【问题描述】:

我需要阅读包含 bean 列表 (ChildDocument) 的文档 (ParentDocument)。而这些bean,我只需要转换一个特定的字段内容)来改变值。 仅用于读取 mongoDb 并加载 bean,不将修改存储在 mongodb 中。

例如:

@Document(collection = "parent")
  class ParentDocument {

    @Id
    String id;

    List<ChildDocument> children;
 }

  @Document
  class ChildDocument {

    @Id
    String id;

    // Modify the content reading in the database before storing the result in the java bean
    String content;
 }

我尝试在 ChildDocument 上使用转换器,但它不起作用,因为转换器不用于像 ChildDocument 这样的嵌入式文档(我认为?)。

有人可以帮助我并有一个干净的解决方案吗?

谢谢

【问题讨论】:

  • 你能展示一下到目前为止你已经尝试过什么吗?

标签: java spring mongodb converter spring-data-mongodb


【解决方案1】:

我的解决方案是:

  • 为父子创建文档转换器
  • 为父亲注册一个转换器
  • 在父亲的 Convert 方法中,必须将子转换器实例化为子转换器所需的唯一参数源
  • 将响应分配给在转换器父亲内部实例化的父文档

好吧,你只需要转换触发子转换的父文档。

再见...

【讨论】:

    猜你喜欢
    • 2016-09-16
    • 1970-01-01
    • 2016-12-18
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多