如何在地图中使用弹簧启动正确引用不同的域模型?

时间:2016-08-14 12:16:27

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

我有以下mongodb文档:

{ 
    "_id" : ObjectId("57a068b13a4b500d7f2c72a2"), 
    "results" : [
        {
            "position" : NumberInt(12), 
            "product" : DBRef("product", ObjectId("579f92cfcb22890ba7b0ae15"))
        }
    ]
}

如何使用spring-data-mongodb将此文档正确映射到spring引导域/模型类?

在模型中使用以下属性,但我认为它不够清楚,因为我要确保地图中的对象是objectId或DBRef。

private List<Map<String, Object>> results;

同时创建单独的结果模型并使用private List<Result> results;也不起作用。

1 个答案:

答案 0 :(得分:2)

与此大致相当的东西应该可以解决问题:

{
  test: /\.js$/,
  loader: 'babel-loader',
  exclude: /node_modules/
}

重点:

  • 基础文档中嵌入的对象的专用类型。
  • 使用class MyDocument { ObjectID id; List<Result> results; … } class Result { int position; @DBRef Product product; … } class Product { ObjectId id; }
  • 指向引用文档的指针
  • 引用的对象必须使用@DBRef作为标识符类型