Java “Mongo Spring数据”;“外国”;钥匙
我正在使用管理我的MongoDB数据库 在一个集合中,我有两个ObjectId字段_id,另一个引用另一个集合中的实例 我的收藏类别如下:Java “Mongo Spring数据”;“外国”;钥匙,java,json,spring,mongodb,Java,Json,Spring,Mongodb,我正在使用管理我的MongoDB数据库 在一个集合中,我有两个ObjectId字段_id,另一个引用另一个集合中的实例 我的收藏类别如下: public class CollectionA { private ObjectId id; private String collectionADescription private ObjectId collectionBId } 通过这样指定的类,我能够成功地将“外键”作为$oid插入 问题是我遇到以下绑定错误: 字段“collectionBId”
public class CollectionA
{
private ObjectId id;
private String collectionADescription
private ObjectId collectionBId
}
通过这样指定的类,我能够成功地将“外键”作为$oid插入
问题是我遇到以下绑定错误:
字段“collectionBId”上的对象“collectionA”中存在字段错误:已拒绝
价值[];代码
[typeMismatch.collectionA.collectionBId,typeMismatch.collectionBId,typeMismatch.org.bson.types.ObjectId,typeMismatch];
论据
[org.springframework.context.support.DefaultMessageSourceResolvable:
代码[collectionA.collectionBId,collectionBId];参数[];默认值
消息[collectionBId]];默认消息[转换属性失败]
将“java.lang.String”类型的值转换为所需类型
属性“collectionBId”的“org.bson.types.ObjectId”;嵌套
异常为java.lang.IllegalStateException:无法转换的值
将[java.lang.String]键入所需的类型[org.bson.types.ObjectId]
属性“collectionBId”:没有匹配的编辑器或转换策略
发现]
如果我将collectionBId变量设置为String,则变量将作为String而不是$oid插入
我怎样才能做到这一点
Thans如果您真的想要数据存储中的关系,那么应该使用Spring Data MongoDB注释。但是我建议您重新考虑/重新设计您的模式,使用嵌入式文档。也许文档将帮助您设计更好的模式