我正在尝试使用MongoRepository在mongoDB中使用投影并获取JsonParserException。以下是代码:
@Query(value= "{'regId': ?0, 'data': {$elemMatch: {'$OR': [{'sampleStep' :?1}, {'sampleStep' : {$gt: ?1}, raw: ?2}]}}, 'ts': ?2, 'regId': ?2}")
Data findAllById(ObjectId regId, String sampleStep, boolean flag);
异常消息:
{'regId': ?0, 'data': {$elemMatch: {'$OR': [{'sampleStep' : "1000000000"}, {'sampleStep' : {$gt: "1000000000"}, raw: true}]}}, 'ts': true, 'regId': true}
^] with root cause com.mongodb.util.JSONParseException:
{'regId': ?0, 'data': {$elemMatch: {'$OR': [{'sampleStep' : "1000000000"}, {'sampleStep' : {$gt: "1000000000"}, raw: true}]}}, 'ts': true, 'regId': true}
有谁能告诉我这里有什么问题。 提前谢谢。
答案 0 :(得分:0)
错误是使用?在价值观中。 例如,如果您要替换:
{$gt: ?1}
带
{$gt: 1}
你不会有任何例外。
我还认为应该删除以下内容:
'regId': ?0
可能没有 regId == 0 。 这是一个ObjectId示例:
ObjectId("507f1f77bcf86cd799439011")
要了解有关ObjectIds的更多信息,请按照link。
进行操作