SpringBoot與mongodb的結合

純鈞發表於2018-11-06

本文系列文章:

​ 使用Shell 操作 MongoDB的技巧

​ MongoTemplate的使用技巧及其注意事項

敬請期待。

前言

最近公司想要做一個使用者行為資料的收集,最開始想用mysql來儲存後來發現這種方式對於不固定資料格式的儲存存在侷限性,也不利於查詢統計操作。所以衍生了使用mongodb這種非結構化的資料庫來儲存。

mongoDB簡介

MongoDB(來自於英文單詞“Humongous”,中文含義為“龐大”)是可以應用於各種規模的企業、各個行業以及各類應用程式的開源資料庫。作為一個適用於敏捷開發的資料庫,MongoDB的資料模式可以隨著應用程式的發展而靈活地更新。與此同時,它也為開發人員 提供了傳統資料庫的功能:二級索引,完整的查詢系統以及嚴格一致性等等。 MongoDB能夠使企業更加具有敏捷性和可擴充套件性,各種規模的企業都可以通過使用MongoDB來建立新的應用,提高與客戶之間的工作效率,加快產品上市時間,以及降低企業成本。

MongoDB是專為可擴充套件性,高效能和高可用性而設計的資料庫。它可以從單伺服器部署擴充套件到大型、複雜的多資料中心架構。利用記憶體計算的優勢,MongoDB能夠提供高效能的資料讀寫操作。 MongoDB的本地複製和自動故障轉移功能使您的應用程式具有企業級的可靠性和操作靈活性。

1. mongoDB 安裝

本文采用docker安裝mongoDB

訪問:https://hub.docker.com/r/bitnami/mongodb/ 選取需要的版本號,具體操作也可檢視

docker pull bitnami/mongodb
docker run --name mongodb -d -p 27017:27017 bitnami/mongodb

2. Springboot 新增mongoDB依賴

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

3. 修改配置檔案

#mongoDb
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27017
#資料庫名稱
spring.data.mongodb.database=behavior 

4.簡單使用

    @Autowired 
    MongoTemplate mongoTemplate;
    @Test
    public void testMongo(){
        Query query = Query.query(Criteria.where("key").is("mongo"));
        // "mongo" 為容器名 mongodb的具體知識請訪問mongodb官方
        mongoTemplate.findOne(query,Map.class,"mongo");
    }

相關文章