使用 java 更新 mongodb 3.2

updating mongodb using java 3.2

我正在尝试使用 java 3.2 基于 mongodb 中的模式匹配器更新我的文档。 到目前为止,我尝试使用 for 循环检索所有字段并与模式匹配器匹配,之后应该更新状态字段。但是,我得到一个错误 "Exception in thread "main" com.mongodb.util.JSONParseException:"。 还有其他方法可以实现吗?

这是我的样本。

FindIterable alldoc = db.getCollection("sortedTweets").find(新文档("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);
    }

关于下面两行代码

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

我假设您要制作一个字符串统计文档。要使 JSON.parse() 正常工作,您的 stat 和 screenName 应该是正确的 JSON 文档。

先把它们打印出来,看看无效的 JSON 元素在哪里。在显示的异常日志的其余部分也会指出无效部分