mongodb - Spring mongodb在保存后获取插入项的ID

标签 mongodb spring-mongo

我正在使用 Spring MongoDb。

我使用 insert 方法创建各种实体: http://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/core/MongoOperations.html#insert-java.lang.Object-

但是,所有方法都返回 void。我需要返回插入文档的 ObjectId

获得它的最佳方法是什么?

最佳答案

这很有趣,我想我会分享。我刚刚在上面的 BatScream 评论的帮助下找到了解决方案:

您将创建一个对象并将其插入到您的 MongoDB:

    Animal animal = new Animal();
    animal.setName(name);
    animal.setCat(cat);

    mongoTemplate.insert(animal);

你的动物类看起来像这样,所有字段的 getter 和设置:

public class Animal {

    @Id
    @JsonProperty
    private String id;
    @JsonProperty
    private String name;
    @JsonProperty
    private String cat;

    public String getId() {
        return id;
    }
}

mongoTemplate.insert(animal); 下完成插入后,您实际上可以调用方法 animal.getId() 并返回 ObjectId已创建。

关于mongodb - Spring mongodb在保存后获取插入项的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26986183/

相关文章:

java - 我可以拥有超过 1 个 'mongos' 实例吗?

java - 在MongoRepository spring中保存选定的字段而不影响其他字段

Spring -Mongodb 将枚举存储/检索为 int 而不是字符串

mongodb-query - 加入mongodb中的两个集合

spring - 国际化 (i18n) 工作,但重音字符不重音

Python Pymongo 身份验证失败

javascript - 如何将数组转换为集合

MongoDb 指南针 : Not able to connect using standard connection string

mongodb - 如何识别 meteor 内运行的minimongo的端口?

java - spring:-boot、-core、data-mongodb、-data-commons 依赖项