我正在从 SQL (JPA) 迁移到 MongoDB,听说 Spring-Data 很棒,所以我正在使用它,尤其是用于 DBObjects 和应用程序对象之间的整个转换。
我的大部分要求都得到了满足,但我不知道如何使用 MongoDB 将 JPA 的更新功能迁移到 Spring-Data: 1. 保存/更新是隐式的,由休眠处理 2. 更新根据给定对象更新所有值
与 JPA 类似,在使用 com.mongodb.DB 时,您可以执行一行“更新”操作:
public boolean update(String collectionName, DBObject referenceObject, DBObject object) {
WriteResult result = this.db.getCollection(collectionName).update(referenceObject, object);
return parseWriteResult(result);
}
它根据给定对象中的值以及对象是否在数据库中来保存/更新等于引用对象的对象。
现在我正在使用 MongoOperations,我只能使用“更新”对象更新对象,我必须一次播种一个值:
MongoOperations client = ...
...
Update update = new Update();
update.set("past", 1);
update.set("current", 3);
...
client.updateFirst(query, update, clazz);
有什么方法可以使用 JPA 中的功能吗?