如何使用MongoDBJava驱动程序更新旧文档?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (186)

以下是我使用的代码:

 // search feed
        Document found = database.getCollection("rss_feed").find(new Document("title", title)
                .append("url", url)
                .append("img", img)
                .append("price", price)).first();
        if (found == null) {
            collection.insertOne(new Document("title", title)
                    .append("url", url)
                    .append("img", img)
                    .append("price", price));
                     mongoClient.close();
        System.out.println("Feed not exists in database. Written.");
        } else {
            System.out.println("Feed exists in database.");
        mongoClient.close();
        }

  // search feed
        Document found = database.getCollection("rss_feed").find(new Document("title", title)
                .append("url", url)
                .append("img", img)
                .append("price", price)).first();
        if (found == null) {
            collection.insertOne(new Document("title", title)
                    .append("url", url)
                    .append("img", img)
                    .append("price", price));
                     mongoClient.close();
        System.out.println("Feed not exists in database. Written.");
        } else {
            collection.updateOne(eq(found), new Document("title", title)
                    .append("url", url)
                    .append("img", img)
                    .append("price", price));
                    mongoClient.close();
            System.out.println("Feed exists in database. Updated");
        mongoClient.close();
        }

出现警告:

WARNING: Unsupported option 'retrywrites' in the connection string

提问于
用户回答回答于

在retryWrites根据MongoDB中3.6的溶液中加入连接参数,你使用的是版本3.4,因此警告。在代码中的某处,可能有一个类似于此的连接字符串:mongodb://db1.example.net:27017?retryWrites=true。需要升级到版本> = 3.6或retryWrites从连接字符串中删除参数以消除警告。

扫码关注云+社区

领取腾讯云代金券