MongoDB投影异常

时间:2016-11-10 20:29:17

标签: mongodb spring-data

我正在尝试使用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}

有谁能告诉我这里有什么问题。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

错误是使用?在价值观中。 例如,如果您要替换:

{$gt: ?1}  

{$gt: 1} 

你不会有任何例外。

我还认为应该删除以下内容:

'regId': ?0

可能没有 regId == 0 。 这是一个ObjectId示例:

ObjectId("507f1f77bcf86cd799439011")

要了解有关ObjectIds的更多信息,请按照link

进行操作