我正在使用 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/