使用spring数据(dbref)在mongo中的地图类型字段的参考值

时间:2013-09-21 13:34:03

标签: java mongodb map spring-data dbref

我的文档中有一个map字段(key = content type,value = content),我希望将值部分(内容,即另一个文档)保存在mongodb中作为引用对象。

private Map<ContentType, Content> relatedContents;

例如,对于内容类型“CONTENT_TYPE_X”,它应该保存为

  

“relatedContents”:{“CONTENT_TYPE_X”:DBRef(“content”,ObjectId(“51ea2c0167e855d6b3d3dda3”)}

对于正常的字段引用,可以使用@DBREF来实现,例如

@DBRef
private Content content;

但是当然在这种情况下仅通过放@DBRef就行不通,是否有可能实现我所说的呢?

@DBRef
private Map<ContentType, Content> relatedContents;

非常感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用spring-data-mongodb 1.3 M1或更高版本完全按照您的建议执行此操作:

@DBRef
private Map<String, Content> relatedContents;

请参阅DATAMONGO-657