无需显式转换即可在JAVA中更新MongoDB文档

时间:2018-08-08 15:00:49

标签: mongodb mongodb-java

我正在使用mongo-db java驱动程序3.8并按如下方式处理集合:

MongoDatabase md=mongoClient.getDatabase(databaseName);
MongoCollection<ConstructionPlan> collection=md.getCollection(plansCollectionName,abc.class);
collection.insertOne(item);
collection.find(Filters.eq("itemId", id),abc.class).first();

使用此代码,我不必进行任何转换。我一直在寻找一种以相同方式更新文档的方式。我正在考虑这样的事情:

abc anABCObject=collection.find(Filters.eq("itemId", id),ConstructionPlan.class).first();
//updates...
collection.update(anABCObject);

是否可以在不进行BSON转换的情况下更新现有文档? (我找不到它...。)

1 个答案:

答案 0 :(得分:0)

updateOne用于使用更新运算符更新文档字段。

您需要replaceOne来替换文件。

collection.replaceOne(
   Filters.eq("itemId", id),
   anABCObject
);