Java 为什么在保存操作时删除monogo收集文档?

Java 为什么在保存操作时删除monogo收集文档?,java,mongodb,spring-boot,mongodb-query,Java,Mongodb,Spring Boot,Mongodb Query,假设我有 User data=新用户(id=6505ab53cd6fb759,name=Hello,age=30,address=xyz) 和一个编辑列表,如: [User(id=6505ab53cd6fb759, name=Hello, age=40, address=xyz`)] &mongo集合名称“userInfo” 以下代码是实现的代码: public Boolean updateUserInfo(User[] editedData) { try { Str

假设我有

User data=新用户(id=6505ab53cd6fb759,name=Hello,age=30,address=xyz

和一个编辑列表,如:

[User(id=6505ab53cd6fb759, name=Hello, age=40, address=xyz`)]
&mongo集合名称“userInfo”

以下代码是实现的代码:

public Boolean updateUserInfo(User[] editedData) {
    try {

        String collectionName = "userInfo";

        for (User data : editedList) {
            String objIdStr = data.getId();
            ObjectId objectId = new ObjectId(objIdStr);
            // fetch the document
            Query query = new Query(Criteria.where("_id").is(objectId));
            User dBData = mongoTemplate.findOne(query, User.class,
                    collectionName);
            
            User currentObj = dBData;

            // Here some not written code,but have to write later

            mongoTemplate.save(data, collectionName);
      }
}

在上述代码中,for循环'data'包含已编辑的数据,'dBData'包含尚未更改的当前数据,保存操作后,'userInfo'中相应的'id'的dBData将更新为'age'=40

但是,它没有更新文档,而是从“用户信息”集合中删除该文档


为什么会发生这种不正常的事情?解决方案是什么?如何在运行保存操作时防止删除?

您是否有我们可以运行的代码片段来演示问题?@Joe,请检查。我添加了实现的代码您使用
save
而不是
update
有什么原因吗?此外,该代码段似乎正在
dbData
中检索文档,但保存
数据
是否正确?实际上,我不确定哪个字段的数据被修改或编辑,任何字段都可以修改,这就是我使用“保存”操作的原因。使用“保存”操作时会导致什么问题?