【问题标题】:Java Driver MongoDB updateoneJava 驱动程序 MongoDB updateone
【发布时间】:2016-12-07 04:48:27
【问题描述】:

我有一个 MongoDAO 类,它具有以下基本 Mongo CRUD 操作的代码。我正在使用 collection.updateOne 方法的代码行未编译并引发错误“MongoCollection 类型中的方法 updateOne(Bson, Bson) 不适用于参数(文档)” .我需要传递一个 ToolThing 类型的对象并使用该对象来更新 mongodb 上的现有文档。如何解决这个问题而不必参考对象 ToolThing 的各个参数?

private String mongoDB;
private String mongoCollection;
private List<ToolThing> tools;
private ToolThing tool;

MongoClient mongoClient = new MongoClient();
MongoDatabase db = mongoClient.getDatabase("test");
MongoCollection collection = db.getCollection("tools");

public void updateOne(ToolThing input){
    try {
        JSONObject jsonObject = new JSONObject(input);
        String inputJson = jsonObject.toString();
        Document inpDoc = Document.parse(inputJson);
        collection.updateOne(new Document(inpDoc));
    } catch (Exception e) {
        System.out.println("Mongo Deletion operation failed");
        e.printStackTrace();
    }

}

【问题讨论】:

    标签: java mongodb


    【解决方案1】:

    是的,你会得到那个异常,因为 MongoCollection.updateOne 应该有两个参数,第一个参数是找到需要更新的文档的条件,第二个参数是实际更新。

    请参阅以下帖子中给出的示例。

    https://docs.mongodb.com/getting-started/java/update/

    MongoDB update using Java 3 driver

    【讨论】:

      猜你喜欢
      • 2016-03-13
      • 2017-05-23
      • 1970-01-01
      • 2013-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      相关资源
      最近更新 更多