spring boot mongo 索引 demo
时间: 2023-09-12 07:06:08 浏览: 105
好的,我可以为您提供一个基本的 Spring Boot 和 Mongo 索引的演示示例。
首先,您需要在您的 Spring Boot 应用程序中添加以下依赖项:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
```
然后,在您的 application.properties 或 application.yml 文件中添加此配置:
```
spring.data.mongodb.uri=mongodb://<username>:<password>@<hostname>:<port>/<database-name>
```
您需要替换上述配置中的以下内容:
- <username>:您的 MongoDB 用户名
- <password>:您的 MongoDB 密码
- <hostname>:您的 MongoDB 主机名
- <port>:您的 MongoDB 端口号
- <database-name>:您的 MongoDB 数据库名称
接下来,您可以创建一个简单的 Mongo 文档对象和一个 Mongo 存储库接口,如下所示:
```
@Document(collection = "users")
public class User {
@Id
private String id;
private String name;
private int age;
// getter 和 setter
}
@Repository
public interface UserRepository extends MongoRepository<User, String> {
List<User> findByName(String name);
List<User> findByAgeGreaterThan(int age);
}
```
在这里,我们有一个名为 User 的 Mongo 文档对象,它包含 id、name 和 age 字段。然后,我们还有一个名为 UserRepository 的 Mongo 存储库接口,它继承自 MongoRepository,并带有两个自定义查询方法:findByName() 和 findByAgeGreaterThan()。
最后,我们可以使用以下代码在存储库中创建索引:
```
@Repository
public interface UserRepository extends MongoRepository<User, String> {
@Indexed(name = "name_index")
List<User> findByName(String name);
@Indexed(name = "age_index")
List<User> findByAgeGreaterThan(int age);
}
```
在这里,我们在查询方法上使用了 @Indexed 注释,并为每个索引命名。使用命名的索引允许我们针对索引执行更多操作,例如删除或更新它们。
这就是一个基本的 Spring Boot 和 Mongo 索引的演示示例。希望能对您有所帮助!
阅读全文