在 mongodb 中保存该对象时获得相同的 java 对象

Get the same java object on saving that object in mongodb

我的 POJO 看起来像这样:

@Document(collection = "users")
public class User {

    @Id
    private String id;

    String username;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}

我可以通过调用 mongoDBClient.save(userObj); 将对象的值保存在 mongodb 中:

public void save(Object paramObject) {
        mongoOperations.save(paramObject);
    }

save api 的问题在于它正在返回 void。我想获得已保存的相同对象。我怎样才能做到这一点?

paramObject 可在保存后进行自省。它代表了它在那个阶段的持久状态。

例如driver负责代为分配id

此外,您未自行设置并指定由 spring 数据填充的所有属性 - 例如用 @CreatedDate 注释的属性 - 在 [=13] 之后也可用=] 方法(假设配置了审计)。

无论如何,Id 已设置。稍后您可以通过调用 findById(paramObject.getId(), User.class)

来查询相同的 object