java - mongo中使用spring data的map类型字段的引用值(dbref)

标签 java mongodb dictionary spring-data dbref

我的文档中有一个 map 字段(键=内容类型,值=内容),我希望将值部分(内容,这是另一个文档)作为引用对象保存在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;

非常感谢。

最佳答案

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

@DBRef
private Map<String, Content> relatedContents;

参见DATAMONGO-657

关于java - mongo中使用spring data的map类型字段的引用值(dbref),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18933215/

相关文章:

javascript - 如何将数据从 mongodb(使用 Mongoose 模块)传递到 Node js View (使用临时引擎 jade)?

javascript - 使用 Mongoose 查询 MongoDB 中的模板文字

javascript - 对 Array.prototype.reduce 的 polyfill 感到困惑

将复杂的 json 转换为 csv 的 Python 程序,适合初学者

java - 匿名内部类的访问类型是什么?

java - Google App Engine + Spring + 域对象实例安全

javascript - 在 MongoDB 中更新整个文档(所有字段)的最快方法是什么?

C# 字典 <> 缺少键

java - 从 Android Java 代码的 php Json 结果中删除结尾 [ 和 ]

java - 为什么使用 LengthFieldPrepender/LengthFieldBasedFrameDecoder