2016-04-28 2 views
0

Je développe un projet avec hibernate-ogm 5 avec mongodb 3. Mais certaines requêtes ne peuvent pas être analysées. Mais j'ai testé cette requête sur shell. Ça marche. Quel est le problème avec cette requête?Le pilote Java MongoDB ne peut pas analyser la requête

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

Avez-vous essayé d'exécuter la requête sans le wrapper 'NumberInt()' 'db.Tree.update ({'_ id': 2}, {'$ inc': {'totalUserCount': -1}}, {}) '? – chridam

+0

@chridam Si j'enlève l'enveloppe NumberInt() MongoDB va changer le type de données en double. Je ne veux pas de ce comportement. – hurelhuyag

Répondre

2

Pour votre information, la question de l'analyse syntaxique sera corrigé dans la prochaine version de message d'accueil.

Notez qu'il prendra en charge NumberLong mais pas NumberInt car NumberInt n'est pas pris en charge par le pilote Java MongoDB: https://jira.mongodb.org/browse/JAVA-2185.