【发布时间】:2012-10-15 17:14:54
【问题描述】:
我正在使用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];论据 [];默认 消息 [collectionBId]];默认消息 [无法转换属性 'java.lang.String' 类型的值到所需类型 属性“collectionBId”的“org.bson.types.ObjectId”;嵌套的 异常是 java.lang.IllegalStateException:无法转换的值 类型 [java.lang.String] 到所需类型 [org.bson.types.ObjectId] 属性“collectionBId”:没有匹配的编辑器或转换策略 找到]
如果我将 collectionBId 变量设置为 String,则变量将作为字符串而不是 $oid 插入
我怎样才能做到这一点?
比
【问题讨论】: