映入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
yaml配置
spring:
data:
mongodb:
uri: mongodb://localhost:27017/chat_memory_db # mongodb地址 会自动创建
数据库
定义文档(文档相当于MYSQL 的行)
定义文档实体
java
@Data
@AllArgsConstructor
@NoArgsConstructor
@Document("chat_message")
public class ChatMessages {
@Id
private Long messageId;
/**
* 聊天记录列表json字符串
*/
private String content;
}
java
@Test
public void test(){
ChatMessages chatMessages = new ChatMessages(1L,"你好");
mongoTemplate.insert(chatMessages);
}
增删改查
public void testInsert(){
ChatMessages chatMessages = new ChatMessages();
chatMessages.setContent("你好");
mongoTemplate.insert(chatMessages);
}
@Test
public void testQuery(){
ChatMessages byId = mongoTemplate.findById("680e38d1eb0e2f7b6d287541", ChatMessages.class);
System.out.print(byId);
}
@Test
public void testUpdate1(){
// 根据id修改
Criteria criteria = Criteria.where("_id").is("680e38d1eb0e2f7b6d287541");
Query query = new Query(criteria);
Update update = new Update();
update.set("content","新的聊天记录");
// 新增或者更新
mongoTemplate.upsert(query,update,ChatMessages.class);
}
@Test
public void testUpdate2(){
// 根据id修改
Criteria criteria = Criteria.where("_id").is("100");
Query query = new Query(criteria);
Update update = new Update();
update.set("content","新的聊天记录");
// 新增或者更新
mongoTemplate.upsert(query,update,ChatMessages.class);
}
@Test
public void testRemove(){
// 根据id修改
Criteria criteria = Criteria.where("_id").is("100");
Query query = new Query(criteria);
Update update = new Update();
update.set("content","新的聊天记录");
// 新增或者更新
mongoTemplate.remove(query,ChatMessages.class);
}