在spring-boot版本升级后,我无法在spring-data-mongodb存储库中@Query注释的mongodb请求中使用由点字符分隔的复杂2级参数。对于spring-boot 2,最好的方法是什么?如何通过最少的更改即可解决它?
将spring-boot库从v.1.5.6.RELEASE升级到2.1.5.RELEASE后出现问题。应用程序成功启动,但是在运行时对mongodb的请求中出现错误。
@Query("{_id.subscriberId: ?0}")
UserSubscription findOneBySubscriberId(String subscriberId);
我希望返回找到的UserSubscription对象或null值(如spring-data-mongodb v.1.5.6中的那样)。但是在spring-data-mongodb v.2.1.5上我得到了错误: org.bson.json.JsonParseException:无效的JSON输入。位置:5。字符:“。”。
答案 0 :(得分:0)
您确定_id.subscriberId
是您在这里做什么?您的ID字段是一个复杂的对象吗?我认为您可能打算使用_id
以外的其他方式?
不过,您应该可以将属性用引号引起来,以解决当前遇到的错误:
@Query("{_`id.subscriberId`: ?0}")