Mongodb
文章平均质量分 52
它山之石,可以攻玉
工欲善其事,必先利其器。
展开
-
Spring boot MongoDB实现自增序列
操作指令,经过测试100个并发下没有发现重复id的产生,但是还是建议使用MongoDB自己的Id生成策略,毕竟MongoDB作为非关系型数据库,如果维护一个自增序列,性能上肯定没有ObjectId好,而且分片情况下需要自己校验自增序列的唯一性,当然在某些特殊的业务场景下必须要使用自增序列的,也属于正常,如果大家有更好的方案,欢迎讨论。在某些特定的业务场景下,会需要使用自增的序列来维护数据,目前项目中因为使用MongoDB,顾记录一下如何使用MongoDB实现自增序列。的值作用本次序列,实现自增序列。原创 2023-07-04 11:19:13 · 1766 阅读 · 0 评论 -
Spring boot MongoDB 实现自定义审计字段
是Spring Data提供的一个接口,用于提供当前执行数据库操作的"审计员"的信息。"审计员"可以是当前操作的用户、系统的默认用户或其他相关信息,用于记录和跟踪数据的变更历史。,只要在保存文档之前将数据拦截处理就可以实现字段填充。除了上面这种方式,还可以通过实现。的作用是为实体类中标记了。原创 2023-07-03 18:22:43 · 1279 阅读 · 1 评论 -
Spring Data MongoDB实现@DBRef级联存储
使用@DBRef进行级联存储的方式就是通过继承`AbstractMongoEventListener`并重写`onBeforeConvert`方法在保存文档之前先保存子对象,就可以实现级联存储,需要注意,使用当前配置会全局生效,如果想要自定义级联存储可以使用自定义注解实现,扫描指定注解后进行级联存储。原创 2023-07-03 16:44:16 · 1333 阅读 · 0 评论 -
Springboot MongoDB封装通用Servcie
封装的通用Service,也可以使用之前文章自定义Repository来实现,如果同学们有更好的方案欢迎讨论。构建通用Service的实现,此处基于。实现,当然也可以使用之前文档自定义通过。构建通用Service,原创 2023-07-03 15:51:13 · 1124 阅读 · 0 评论 -
Springboot MongoTemplate封装通用Repository
虽然Spring boot也提供了Mongodb JPA的操作类MongoRepository,但面对复杂操作时,没有MongoTemplate操作灵活,两个可以配合使用,取长补短。原创 2023-07-03 15:24:22 · 665 阅读 · 0 评论 -
MongoDB使用ObjectId作为主键时id序列化问题
默认主键生成策略,是 MongoDB 提供的默认生成方式,使用 12 字节的 BSON 类型存储主键,包含了时间戳、机器标识、进程标识和随机数)的字段作为主键,也可以使用注解@Id指定主键,可以作用于字符串、数字、对象等,除了使用@Id指定主键还可以自定义主键,例如自增序列等,但是建议使用默认生成策略。MongoDB主键,由时间戳(四个字节)、机器ID(三个字节)、进程ID(两个字节)、计数器(三个字节)四部分构成。以上就是使用ObjectId作为主键时序列化解决方案,如果有更好的解决方案欢迎探讨。原创 2023-07-03 15:19:17 · 1047 阅读 · 0 评论