MongoDB, SpringBoot中MongoDB注解概念及使用

这篇具有很好参考价值的文章主要介绍了MongoDB, SpringBoot中MongoDB注解概念及使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MongoDB——》SpringBoot中MongoDB注解概念及使用
一、@Document : 文档
1、概念
2、用法
二、@Id : 主键
1、概念
2、用法
三、@Indexed : 索引
1、概念
2、用法
四、@CompoundIndex : 联合索引
1、概念
2、用法
五、@Field : 属性
1、概念
2、用法
六、@Transient: 属性
1、概念
2、用法
七、@DBRef: 关联实体
1、概念
2、用法
一、@Document : 文档
1、概念
标注在实体类上,把ava类声明为mongodb的文档,可以通过collection参数指定这个类对应的文档
类似于hibernate的entity注解,标明由mongo来维护该表
2、用法
@Document(collection="mongodb 对应 collection 名")

如果没有设置 collection 值,则对应mongo中和 Java 类名相同的 collection
// 该 bean 对应 mongo 中的 user collection
@Document
public class User{
}

如果设置了 collection 值,则对应mongo中对应的 collection
// 该 bean 对应 mongo 中的 system_user collection
@Document(collection="system_user") 
public class User{
}

二、@Id : 主键
1、概念
主键,不可重复,自带索引
如果自己不设置@Id主键,mongo会自动生成一个唯一主键,并且插入时效率远高于自己设置主键。
如果自己设置@Id主键,并标注在自定义的列名上,需要自己生成并维护不重复的约束。
2、用法
// 该 bean 对应 mongo 中的 system_user collection
@Document(collection="system_user") 
public class User{
    @Id
    private String id;
}

三、@Indexed : 索引
1、概念
索引,加索引后以该字段为条件检索将大大提高速度。
对数组进行索引,MongoDB会索引这个数组中的每一个元素。
对整个Document进行索引,排序是预定义的按插入BSON数据的先后升序排列。
对关联的对象的字段进行索引,譬如User对关联的address.city进行索引。
2、用法
@Document(collection="system_user") 
public class User{
    @Id
    private String id;
    //@Indexed(unique = true),唯一索引
    @Indexed(unique = true)
    private String userName;
    
}

四、@CompoundIndex : 联合索引
1、概念
复合索引,加复合索引后通过复合索引字段查询将大大提高速度。
2、用法
@Document(collection="system_user") 
// userName和age将作为复合索引
// 数字参数指定索引的方向,1为正序,-1为倒序
@CompoundIndexes({
    @CompoundIndex(name = "userName_age_idx", def = "{'userName': 1, 'age': -1}")
})
public class User{
    @Id
    private String id;
    private String userName;
    private String age;
    
}

五、@Field : 属性
1、概念
代表一个字段
加这个注解,就是以注解的值对应mongo的key
不加这个注解,默认以参数对应mongo的key
2、用法
@Document(collection="system_user") 
@CompoundIndexes({
    @CompoundIndex(name = "userName_age_idx", def = "{'userName': 1, 'age': -1}")
})
public class User{
    @Id
    private String id;
    //在 java bean 中字段名为 userName,存储到 mongo 中 key 为 user_name
    @Field("user_name")
    private String userName;
    //在 java bean 中字段名为 age,存储到 mongo 中 key 为 age
    private String age;
}

六、@Transient: 属性
1、概念
不会被录入到数据库中,只作为普通的javaBean属性。
2、用法
@Document(collection="system_user") 
@CompoundIndexes({
    @CompoundIndex(name = "userName_age_idx", def = "{'userName': 1, 'age': -1}")
})
public class User{
    @Id
    private String id;
    @Field("user_name")
    private String userName;
    private String age;
    //@Transient
    private String local;
}
1

七、@DBRef: 关联实体
1、概念
关联另一个document对象
2、用法
@Document(collection="system_user") 
@CompoundIndexes({
    @CompoundIndex(name = "userName_age_idx", def = "{'userName': 1, 'age': -1}")
})
public class User{
    @Id
    private String id;
    @Field("user_name")
    private String userName;
    private String age;
    //@Transient
    private String local;
    @DBRef
    private List<Role> roles;
}
 文章来源地址https://www.toymoban.com/news/detail-523998.html

到了这里,关于MongoDB, SpringBoot中MongoDB注解概念及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Spring Boot操作Redis、ES、MongoDB举例

    在Spring Boot应用程序中操作Redis通常涉及到使用Spring Data Redis,这是一个提供简便方法来操作Redis的库。以下是一个基本示例,演示如何在Spring Boot应用程序中集成和使用Redis: 步骤 1: 添加依赖项 首先,在你的 pom.xml 文件中添加Spring Data Redis的依赖项。 步骤 2: 配置Redis 在你的

    2024年01月25日
    浏览(40)
  • Spring Boot 整合 MongoDB 实战

    MongoDB是一种NoSQL数据库,而Spring Boot是一个用于快速构建Java应用程序的开发框架。本文将介绍如何使用Spring Boot整合MongoDB,实现数据的持久化和操作。通过本文的学习,读者将了解到Spring Boot和MongoDB的基本概念和用途,并理解为什么选择使用它们进行整合。 在开始整合之前,

    2024年02月14日
    浏览(44)
  • 三、Spring boot集成mongodb

    spring-data-mongodb提供了MongoTemplate与MongoRepository两种方式访问mongodb,MongoRepository操作简单,MongoTemplate操作灵活,我们在项目中可以灵活适用这两种方式操作mongodb,MongoRepository的缺点是不够灵活,MongoTemplate正好可以弥补不足。 2.1 初始化工程 使用 Spring Initializr 快速初始化一个

    2024年02月05日
    浏览(41)
  • Spring Boot中快速操作Mongodb

    在Spring Boot中集成Mongodb非常简单,只需要加入Mongodb的Starter包即可,代码如下: 然后配置Mongodb的连接信息: 完整配置信息请参考下面: 配置好了之后就直接可以注入MongoTemplate操作数据了 首先创建一个实体类,我们这边用文章来做实体类,定义如下字段: 实体类中的注解解释

    2024年01月17日
    浏览(40)
  • Spring boot MongoDB实现自增序列

    在某些特定的业务场景下,会需要使用自增的序列来维护数据,目前项目中因为使用MongoDB,顾记录一下如何使用MongoDB实现自增序列。 MongoDB自增序列原理 MongoDB本身不具有自增序列的功能,但是MongoDB的 $inc 操作是具有原子性的,因为操作的原子性,那么就可以通过 $inc 序列

    2024年02月12日
    浏览(46)
  • Spring boot MongoDB 实现自定义审计字段

    AuditorAware 是什么? AuditorAware 是Spring Data提供的一个接口,用于提供当前执行数据库操作的\\\"审计员\\\"的信息。\\\"审计员\\\"可以是当前操作的用户、系统的默认用户或其他相关信息,用于记录和跟踪数据的变更历史。 具体来说, AuditorAware 的作用是为实体类中标记了 @CreatedBy 和 @L

    2024年02月12日
    浏览(39)
  • SpringBoot 集成 Spring Data Mongodb 操作 MongoDB 详解

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,且与关系数据库的最为相像的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是它支持的查询语言非常强大,其语法有点

    2024年02月02日
    浏览(48)
  • 13、MongoDB--通过 SpringBoot 整合 Spring Data MongoDB(【连接多个 MongoDB 服务器】、【高级定制 MongoDB 客户端】的简单介绍)

    放弃 Spring Boot 为 MongeDB 提供的自动配置,接下来同样要干如下事情: 手动配置多组 ReactiveMongoDatabaseFactory 和 ReactiveMongoTemplate,要连几个 MongoDB 服务器就配置几组。 同步 API 则使用 MongoDatabaseFactory 和 MongoTemplate。 针对不同 MongoDB 服务器,分别开发相应的 DAO 组件类,建议将它

    2024年03月19日
    浏览(66)
  • Spring Boot进阶(54):Windows 平台安装 MongoDB数据库 | 超级详细,建议收藏

            MongoDB是一种流行的文档型NoSQL数据库,它具有高性能、高可用性、可伸缩性等优点,因此被广泛应用于Web应用程序、分布式系统、云计算等领域。在Windows系统中安装和使用MongoDB也非常简单,只需要按照官方文档提供的步骤进行操作即可。在本篇文章中,我们将介

    2024年02月16日
    浏览(60)
  • 1024程序员节特辑 | Spring Boot实战 之 MongoDB分片或复制集操作

    Spring实战系列文章: Spring实战 | Spring AOP核心秘笈之葵花宝典 Spring实战 | Spring IOC不能说的秘密? 国庆中秋特辑系列文章: 国庆中秋特辑(八)Spring Boot项目如何使用JPA 国庆中秋特辑(七)Java软件工程师常见20道编程面试题 国庆中秋特辑(六)大学生常见30道宝藏编程面试题

    2024年02月08日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包