在pom.xml中引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
在application.yml中添加配置
spring:
data:
mongodb:
uri: mongodb://xxx/xxx
编写一个实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
@Id
Integer id;
private String name;
private String age;
private String email;
}
编写测试方法
@Test
public void test2(){
//插入
Person person = new Person(8, "fatalism", "555", "qwer@qq.com");
mongoTemplate.insert(person);
// 保存、修改
mongoTemplate.save(person);
// 批量插入
List<Person> list=new ArrayList<>();
for (int i = 0; i < 10; i++) {
Person person1 = new Person(10 + i, "jun" + i, "88" + i, i+"123456@qq.com" );
list.add(person1);
}
mongoTemplate.insertAll(list);
// 查询单个数据 使用id
Query query=new Query();
query.addCriteria(Criteria.where("id").is(8));
// 第三个参数是指mongodb的集合
List<Person> list1 = mongoTemplate.find(query, Person.class, "person");
// 查询所有的数据
List<Person> allList = mongoTemplate.findAll(Person.class, "person");
//根据条件删除
Query query1=Query.query(Criteria.where("id").is(8));
mongoTemplate.remove(query1, Person.class,"person");
// 批量更新 模拟代码不添加元素
List<Person> list2=new ArrayList<>();
List<Pair<Query, Update>> pairList=new ArrayList<>();
for (Person person1:list2){
Query query2=new Query();
query2.addCriteria(Criteria.where("id").is(person1.getId()));
Update update = new Update();
update.set("name",person1.getName());
update.set("age",person1.getAge());
Pair<Query,Update> pair= Pair.of(query2,update);
pairList.add(pair);
}
BulkOperations bulkOperation=mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED,"person");
bulkOperation.updateMulti(pairList);
bulkOperation.execute();
}