MongoDB瞭解及學習(1)

  很久沒有寫博客了,果然,懶惰是人類唯一的敵人。不知道爲什麼,這一段時間的自己都是比較迷茫的,可能也和這段時間工作有點忙有原因,但是這也不是一個好的藉口。總之,這一段的博客自己後面還是慢慢補上自己欠下的債吧,反正自己也有記錄。

  在這一段時間中的開發使用到了MongoDB,因爲業務的關係,要做和報表有關的業務邏輯。所以使用到了MongoDB。最開始我是有點不明白的,因爲使用MySQL習慣了,所以認爲MongoDB和MySQL沒有什麼太大的區別,不就是存儲的對象的形式不一樣?這也是瞭解的太少,後面慢慢的瞭解,知道了一些MongoDB的優點。下面就記錄一下自己學習到的一些知識。

  安裝MongoDB很簡單,下面就簡單的介紹一下mac安裝的步驟。下載安裝包,解壓,移動到指定的目錄下就完成了簡單的安裝,在安裝目錄下使用命令訪問就可以了。

  後面的對於我來說就有點麻煩了,就是配置全局路徑。因爲mac也是剛使用不久,所以對於一些基礎的命令還是不清楚。所以這一步都是看網上的教程。最後也是完成了。下面就說說具體幹了什麼。

  1.配置全局路徑,找到bash_profile文件,添加MongoDB_HOME,並且修改PATH路徑,最後使修改成效。這樣就完成了第一步。

  2.在MongoDB路徑下增加data和log目錄,修改mongoDB的數據庫路徑和log路徑。這樣就完成了mongoDB的安裝。在終端敲擊mongo就會啓動mongoDB。

  3.啓動後,可以配置mongo的用戶名和密碼,這裏說一下配置的用戶,一個admin用於增加用戶和刪除用戶,一個root用戶最高權限,一個name用戶用戶連接特定的數據庫(name可以隨意起)。

  安裝也是參考了別人的安裝,就是下面的這篇博客。https://www.cnblogs.com/quickcodes/p/5390482.html

  完成了安裝,下面就開始簡單的使用,因爲是初步的使用,所以就是簡單的存取。

  首先是導入依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

  在application.yml文件中配置MongoDB的信息

data:
  mongodb:
    uri: mongodb://admin:admin@localhost:27017/test

  配置uri的時候發現了一個問題,最開始使用的如下的配置格式。

data:
  mongodb:
    host: 192.168.22.208
    port: 27017
    database: wpew
    username: wpew
    password: wpewUser

  發現一直無法使用用戶名和密碼登錄,去掉用戶名密碼可以。最開始以爲mongo中用戶名和密碼錯誤,但是後來用該用戶名和密碼直接登錄發現可以登錄。後來改爲上面的格式就可以了,目前不知道原因,可能是和依賴的版本有關,大家知道原因的也可以在評論中告知一下,非常感謝。

  下面就是代碼中關於mongo的操作。增刪改查基本的操作,後面更加複雜的聚合查詢暫時還沒有用到,後面也會慢慢補上。

  在具體的操作前需要先注入一個mongoTemplate對象,然後在完成具體的數據庫的操作。

  操作都是很簡單的,大部分都是一行代碼,比如保存一個對象:

mongoTemplate.insert(userDO);

  根據指定字段查詢對象:

Query query = new Query(Criteria.where("userName").is(userName));
UserDO userDO = mongoTemplate.findOne(query, UserDO.class);

  這些都是一些基礎的東西,具體深入的東西目前還沒有接觸到,後面還是要接着學習。

  說說具體遇到的問題吧,依賴的版本導致自己試了很久,後來導入正確的依賴就沒有什麼大問題了,大家寫項目的時候一定要注意各個組件的依賴之間是否互斥。再後面就是配置的問題,和上面的一樣,因爲yml裏面的格式導致了自己的代碼一直報錯,也是很鬱悶。

  代碼放在了自己的GitHub上面。地址是:https://github.com/qq1162210866/SpringBootTrain.git

  就這樣吧,結束。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章