Spring Data MongoDB 注解总结

Spring Data MongoDB 注解总结

文章目录

  • @Document
  • @Indexed
  • @CompoundIndex
  • @Field
  • @Id
  • @Transient

@Document

把一个 java 类声明为 mongoDB 的文档,@Document(collection = “collection名”),例:

@Document(collection = "user")
public class TestUser {

}

如果没有添加 @Document 注解,该 bean 保存到 mongoDB 中的 TestUser 集合;添加了 @Document ,则保存到 user 集合。

@Indexed

声明字段需要加索引,加索引以后该字段为条件的检索会提高速度。

唯一索引需要添加参数 unique = true,@Indexed(unique = true)。

也可以对数组进行索引,如果索引的列是数组时,MongoDB会为这个数组中的每一个元素建立索引。

也可以对整个 Document 进行索引,排序是预定义的,按插入 JSON 数据的先后升序排列。

也可以对关联的对象的字段进行索引()

@CompoundIndex

写法如下

@CompoundIndex(name = "index_name", def = "{'name': 1, 'value': -1}")
public class MongoDBDemo {
    String name;
    String value;
}

@Field

映射到 mongoDB 中的字段名称,例如下面, Java Bean 中字段名为 name ,存储到 mongoDB 中字段名就变成了 test

    @Field("test")
    String name;

@Id

文档唯一标识,主键,不可重复,自带索引。其中不重复的约束需要自己维护。如果不设置 @Id 主键,mongoDB会自动生成一个唯一主键,并且插入时效率远高于自己设置的主键。

@Transient

默认情况下,所有字段都会映射到文档,使用该标识可以将标识字段从存储在数据中的字段列中排除。

你可能感兴趣的:(MongoDB)