如何使用mongoDB和spring数据在嵌入式文档中创建id

胡斯

我试图在嵌入式文档中设置一个ID。在mongoDB的下一个级别中,使用spring数据。可以说我有一个用户文档,每个用户都有多个会话(一对多),我喜欢为会话获取自动生成的唯一ID。我该怎么办?我尝试为用户和会话创建以下实体,但会话ID始终为null !,请帮助

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document
public class User {

    @Id
    private String id;
    private String emailId;
    private String firstName;
    private String lastName;
    private ArrayList<Session> sessions;
}

public class Session {

    @Id // i like to make this id auto generated and unique
    private String id;
    private String status;
    private String title;
//assume all Args, Getters and setters are exists
布拉克

您需要手动更新此唯一ID,因为在中似乎没有自动功能可以执行此操作spring-data-mongodb

就像是;

public Integer generateUniqueId() {
    Session latestSession = sessionRepository.findTopOrderByIdDesc(); // latest session
    return Optional.ofNullable(latestSession).map(Session::getId).orElse(-1) + 1;
}

其中唯一ID只是一个递增计数器...

Session在保存之前将此值设置为新值

newSession.set(generateUniqueId());
sessionRepository.save(newSession);

欲了解更多详情,请点击这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Spring Data MongoDB Repository以greatThan查询嵌入式文档?

使用Spring Boot的MongoDB嵌入式文档

Spring Data MongoDB-嵌入式文档在其他文档中作为参考

如何使用Spring Data MongoDB MongoTemplate插入嵌入式文档

如何使用嵌入式Tomcat容器在Spring Boot中创建JNDI上下文

使用MongoDB和C#新驱动程序版本(2.0)更新集合中的嵌入式文档

具有嵌入式文档的MongoDB findOne()和updateOne()

如何在mongodb中搜索嵌入式文档?

查询Spring Data MongoDB中嵌入式文档的数组

如何使用id mongodb在嵌入式文档数组中查找数据?

MongoDB查询-聚合和嵌入式文档

MongoDB嵌入式文档的区别和过滤器

使用C#获取和添加/更新多层嵌入式/嵌套MongoDB文档

如何在嵌入式数组mongodb中查询嵌入式文档

如何在mongoDB中的多对多关系中使用嵌入式文档结构?

使用Java在MongoDB中的嵌入式文档中索引和搜索“数组”

如何使用Mongoose将值推入MongoDB中嵌入式文档中的数组?

查询MongoDB中的嵌入式文档

在文档中引用文档的嵌入式数组的嵌入式数组上查询Doctrine2和MongoDB

何时使用嵌入式文档MongoDB

如何检索和删除嵌入式文档Spring Data MongoDB

使用python(pymongo)在mongodb中编辑嵌入式文档

在mongodb中展开嵌入式文档

MongoDB,如何获取刚在嵌入式文档中创建的ObjectId?

回送和MongoDB嵌入式文档定义JSON模型

MongoDB对数组和嵌入式文档的条件验证

mongodb是否会在嵌入式文档的_id字段上自动创建索引?

如何在 MongoDb 中查询嵌入式文档?

在 MongoDB 中搜索嵌入式文档?