【发布时间】:2015-11-19 13:40:22
【问题描述】:
我有一个要实现为 Spring Mongo 存储库的 mongo 查询
db.collection.find({ 'items':
{ $elemMatch: {
'refund.$id' : ObjectId('5638cab2e4b07ff212618d7e')
}
}
})
我的仓库界面是
@Query("{ 'items': { $elemMatch: { 'refund.$id' : ObjectId(?0) } } }")
RMA findRMAByItemRefund(String refundId);
它抛出 JSONParseException
Caused by: com.mongodb.util.JSONParseException:
{ 'items': { $elemMatch: { 'refund.$id' : ObjectId("_param_0") } } }
^
at com.mongodb.util.JSONParser.parse(JSON.java:216)
【问题讨论】:
-
您是否尝试将参数
refundId绑定到查询参数refund.$id?如果refund是另一个实体,您可以尝试refund.id,因为 Spring 会自己进行 id 转换 -
是的。它有效@JoaoEvangelista Spring 处理转换。非常感谢
标签: java spring mongodb spring-mvc spring-data-mongodb