使用morphia更新mongodb中的整个文档

时间:2018-05-22 14:55:54

标签: mongodb morphia

我有需要更新的文档,但更新的参数在用户依赖时始终不一样。那么如何更新文档或用基于id的新值替换整个文档。

1 个答案:

答案 0 :(得分:0)

您将更新的值包装在Map设置更新:

Map<String, Object> updateInfo; // Key is db column name, value is updatedValue

Then create update operations:

Query<Entity> filter = datastore.createQuery(Entity.class)
                                .field("_id", id);

UpdateOperations<Entity> updateOps = datastore.createUpdateOperations(Entity.class);

updateInfo.entrySet().forEach(e -> updateOps.set(e.getKey(), e.getValue());

datastore.update(filter, updateOps);

通过这种方式,您可以使用任意数量的字段更新实体