2016-04-25 12 views
0

Ich versuche, mein Dokument zu aktualisieren, basierend auf Musteranpasser in mongodb java 3.2. Bisher habe ich versucht, alle Felder mit for-Schleife und Matched mit Muster-Matcher abzurufen, danach sollte das Statusfeld aktualisiert werden. Aber ich habe eine Fehlermeldung "Ausnahme im Thread" main "com.mongodb.util.JSONParseException:". Gibt es einen anderen Weg, dies zu erreichen?Aktualisierung mongodb java 3.2

Hier ist meine Probe.

FindIterable alldoc = db.getCollection ("sortedTweets") finden (neues Dokument ("lang", "en")).

for(Document doc:alldoc){ 

    String screenName = doc.get("screen_name").toString(); 
    String stat = doc.get("status").toString(); 

    Matcher r = p1.matcher(stat); 
    if(r.find()){ 
     stat = r.replaceAll(replace); 

     Document status = (Document) JSON.parse(stat); 
     Document screenname = (Document) JSON.parse(screenName); 
     db.getCollection("unsortedTweets").updateOne(screenname, status); 
    } 

Antwort

0

in Bezug auf die unter 2 Zeilen Code

Document status = (Document) JSON.parse(stat); 
Document screenname = (Document) JSON.parse(screenName); 

i nehme an, Sie binden ein Dokument des Strings stat zu machen. Damit JSON.parse() funktionieren kann, sollten Ihre Stat- und ScreenName-Dateien JSON-Dokumente sein.

sie zuerst drucken und sehen, wo das ungültige JSON Element in sich ist. der ungültige Teil wird auch in dem Rest des Ausnahmeprotokolls

+0

angezeigt hingewiesen werden !!! Danke, ich habe meinen Code überprüft und es funktioniert gut. Ich habe meine Schleifenprozedur in den Cursor geändert und die Dokumente abgerufen. – prabhu