2011-05-18 8 views
8
Coll.update(condition, new BasicDBObject("$set", data), true, true)) 

Ceci est ma requête de mise à jour MongoDB pour certains enregistrements, il donne le résultat quemongo mise à jour requête d'erreur donné

{ "err" : null , "updatedExisting" : true , "n" : 1 , "ok" : 1.0} 

et à ce moment la mise à jour stockée requête exécuter correctement.

mais pour certains enregistrements, il donne comme résultat

{ "err" : "not okForStorage" , "code" : 12527 , "n" : 0 , "ok" : 1.0} 

enregistre ni mise à jour ni stoare dans db

dans les données il y a plusieurs (liste) BasicDBList utilisée.

si quelqu'un sait répondre plz

Merci

Répondre

20

Plus que probablement il y a des caractères non valides dans vos champs de documents/clés.

Par exemple, vous ne pouvez pas avoir une période . ou un signe dollar $ dans vos noms de champs.

Si vous envoyez la sortie de ce qui suit, je peux vous aider davantage.

System.out.println(data); 
+3

merci pour votre réponse. Oui il y avait "." dans mon nom de domaine, donc la requête de mise à jour ne fonctionne plus à nouveau merci d'avoir répondu. –

+1

4 heures de frustration prend fin. Merci mec! –