gpt4 book ai didi

Java 驱动程序 MongoDB updateone

转载 作者:行者123 更新时间:2023-11-29 08:43:04 33 4
gpt4 key购买 nike

我有一个 MongoDAO 类,它具有以下用于基本 Mongo CRUD 操作的代码。我使用 collection.updateOne 方法的代码行未编译并抛出错误“MongoCollection 类型的方法 updateOne(Bson, Bson) 不适用于参数 (Document)” .我需要传递一个 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();
}

}

最佳答案

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

请引用以下帖子中给出的示例。

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

MongoDB update using Java 3 driver

关于Java 驱动程序 MongoDB updateone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38710137/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com