2016-04-28 9 views
0

私はmongodb 3でhibernate-ogm 5でプロジェクトを開発していますが、一部のクエリは解析できません。しかし、私はこのクエリをシェルでテストしました。できます。このクエリで何が問題になっていますか?Java MongoDBドライバがクエリを解析できません

com.mongodb.util.JSONParseException: 
db.Tree.update({'_id':2},{'$inc':{'totalUserCount':NumberInt(-1)}},{}) 
^ 
com.mongodb.util.JSONParser.parse(JSON.java:230) 
com.mongodb.util.JSONParser.parse(JSON.java:155) 
com.mongodb.util.JSON.parse(JSON.java:92) 
com.mongodb.util.JSON.parse(JSON.java:73) 
org.hibernate.ogm.datastore.mongodb.query.parsing.nativequery.impl.MongoDBQueryDescriptorBuilder.build(MongoDBQueryDescriptorBuilder.java:71) 

screen shot

+0

'NumberInt()'ラッパー 'db.Tree.update({'_ id':2}、{'$ inc':{'totalUserCount':-1}}、{}なしでクエリを実行しようとしましたか? ) '? – chridam

+0

NumberInt()ラッパーを削除すると@chridam MongoDBはデータ型をdoubleに変更します。私はこの振る舞いを望まない。 – hurelhuyag

答えて

2

FYI、解析問題は、OGMの次のリリースで修正されます。

MongoDB JavaドライバでNumberIntがサポートされていないため、NumberLongをサポートしますがNumberIntはサポートしないことに注意してください。https://jira.mongodb.org/browse/JAVA-2185

関連する問題