一.連接MongoDB
1.MongoDBCompass連接數據庫
連接路徑:mongodb://用戶名:密碼@localhost:27017/
2.創建數據庫(集合)
MongoDB中數據庫被稱為集合.
?MongoDBCompass連接后,點擊紅色框加號創建集合,點擊藍色框加號創建文檔(數據表)
文檔中的數據結構(相當于表中的列)設計不用管,添加數據的時候,自動創建列和數據類型.
3.在集合中添加數據
可以將JSON文件添加到集合中.如果是多條數據結構應該如下,不然會提示格式錯誤
[{ ... },{ ... },{ ... }]
如果是多條數據,最外層應該是[ ] , 這個和從MySql導出來的數據有點點不一樣,如果是從MySQL中導出的話,要把json文檔打開,按照上面這個格式去掉頭尾.
二. Spring Boot 連接MongoDB
1.pom添加引用
<!-- 添加mongodb引用--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>
?2.yml添加連接配置
spring:data:mongodb:uri: mongodb://用戶名:密碼@127.0.0.1:27017/fresh_mall?authSource=admin
上面的用戶名和密碼替換你自己的,如果不添加 ?authSource=admin 會提示權限錯誤.
三. Spring Boot 操作MongoDB
1. 創建MongoDB對應的實體類
@Getter
@Setter
@Document("user_address")
@Schema(name = "UserAddress", description = "用戶地址")
public class UserAddress implements Serializable {private static final long serialVersionUID = 1L;@Schema(description = "主鍵")@Field("uuid")private String uuid;@Schema(description = "用戶編號")@Field("userId")private String userId;
}
上面代碼中@Document注解對應MongoDB中的集合名稱,@Field注解對應集合中的字段名,這樣配置之后MongoDB會自動完成實體到數據的映射.
2.通過MongoTemplate進行數據操作
@Resourceprivate MongoTemplate mongoTemplate; //mongoDB操作模板@Overridepublic List<UserAddress> getAddressByUserId(String uid) {//創建查詢對象Query query = new Query();//配置查詢標準query.addCriteria(Criteria.where("userId").is(uid));List<UserAddress> list = mongoTemplate.find(query,UserAddress.class);return list;}
這個代碼會自動查找user_address集合,因為實體類做了配置,并且在查找到內容之后,自動完成數據到對象的映射.