我正在从SQL(JPA)迁移到MongoDB,并听说Spring-Data非常出色,所以我正在使用它,特别是用于DBObjects和应用程序对象之间的整个转换。
大多数需求都得到了满足,但我不知道如何将JPA的更新功能迁移到Spring-Data with MongoDB: 1. save/update是隐式的,由Hibernate处理 2. update根据给定的对象更新所有值
与JPA类似,当使用com.mongodb.DB时,您可以执行一行“Update”操作:
public boolean update(String collectionName, DBObject referenceObject, DBObject object) {
WriteResult result = this.db.getCollection(collectionName).update(referenceObject, object);
return parseWriteResult(result);
}
根据给定对象中的值,它会保存/更新与参考对象相等的对象,并根据对象是否在DB中而定。现在我正在使用MongoOperations,只能使用“Update”对象更新对象,在其中必须逐个设置值。
MongoOperations client = ...
...
Update update = new Update();
update.set("past", 1);
update.set("current", 3);
...
client.updateFirst(query, update, clazz);
有没有像在JPA中那样使用此功能的方法?