我正在使用Spring Data来管理我的MongoDB数据库。
在一个集合中,我有2个ObjectId字段,_id和另一个引用另一个集合中的实例。
我的收藏类就像:
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];参数[];默认 message [collectionBId]];默认消息[无法转换属性 类型'java.lang.String'的值为必需的类型 'org.bson.types.ObjectId'用于属性'collectionBId';嵌套 异常是java.lang.IllegalStateException:无法转换值 输入[java.lang.String]到必需的类型[org.bson.types.ObjectId] property'collectionBId':没有匹配的编辑器或转换策略 发现]
如果我将collectionBId变量设置为String,则变量将作为字符串而不是$ oid
插入我该如何做到这一点?
Thans