gpt4 book ai didi

java - MongoDB/Morphia 对多字段文档的更新操作

转载 作者:行者123 更新时间:2023-11-30 03:05:43 25 4
gpt4 key购买 nike

我有一个实体,其中包含 20 个不同的键/局部变量。如果我想更新文档,我可以使用 UpdateOperations 来执行查询,但我必须逐个归档并从新对象中设置新值..如果有的话仅使用新字段更新数据库中当前文档的方法

可以说:

   public class item {

@Id
@Getter
@Setter
private ObjectId id;

@Getter
@Setter
private String itemID;

@Getter
@Setter
private String itemTitle;
..
..


}

假设我存储了一个项目,现在我从 GUI 获得了一个新的 DTO,其中只有一些字段,其余字段为空。我想创建一个通用更新操作,该操作仅从 DTO 对象中获取不可为 null 的值,并在数据库中的现有文档中更新它。

这可能吗?

最佳答案

我想是的!

我看到两种可能的方法:

替代方案 1:您可以使用反射来迭代 DTO 中的每个字段,并将值放入从数据库恢复的文档的副本中。在循环结束时,您可以更新文档。

替代方案 2:仅更新所需的字段。 Mongo 在更新操作中只能更新字段的子集: Update Data with Java Driver

关于java - MongoDB/Morphia 对多字段文档的更新操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34825518/

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