在使用spring data mongoDB创建新文档(保存)时,将_id复制到新的字段。

问题描述 投票:0回答:1

我在mongoDB中使用Spring Data。

对于我的虚拟对象

{
    @Id
    private String id;
    private String type;        
    private String objectType;  
    private String umbrellaId;  
}

在我的对象中, umbrellaId需要与生成的Id相同。现在我必须做以下工作。

1. object = mongoRepo.save(object);
2. object.setumbrellaId(object.id);
3. object = mongoRepo.save(object);

有没有可能只用一个save()操作就能完成?

mongodb spring-data-mongodb
1个回答
0
投票

你可以做的是,你可以创建一个新的Spring Data对象。ObjectId 创建对象时

ObjectId id=new ObjectId()

如果你需要它是 String那么你可以使用 toString() 的构造函数中。

String id;

yourclass(){
      ObjectId obj=new ObjectId();
      this.id=obj.toSting();
}

你也可以对所有的参数构造函数这样做。现在你有了 id 当对象被创建时,你可以用它来进行 umbrellaId;

© www.soinside.com 2019 - 2024. All rights reserved.