本文系列文章:java
使用Shell 操做 MongoDB的技巧mysql
MongoTemplate的使用技巧及其注意事項spring
敬請期待。sql
最近公司想要作一個用戶行爲數據的收集,最開始想用mysql來存儲後來發現這種方式對於不固定數據格式的保存存在侷限性,也不利於查詢統計操做。因此衍生了使用mongodb這種非結構化的數據庫來保存。mongodb
MongoDB(來自於英文單詞「Humongous」,中文含義爲「龐大」)是能夠應用於各類規模的企業、各個行業以及各種應用程序的開源數據庫。做爲一個適用於敏捷開發的數據庫,MongoDB的數據模式能夠隨着應用程序的發展而靈活地更新。與此同時,它也爲開發人員 提供了傳統數據庫的功能:二級索引,完整的查詢系統以及嚴格一致性等等。 MongoDB可以使企業更加具備敏捷性和可擴展性,各類規模的企業均可以經過使用MongoDB來建立新的應用,提升與客戶之間的工做效率,加快產品上市時間,以及下降企業成本。docker
MongoDB是專爲可擴展性,高性能和高可用性而設計的數據庫。它能夠從單服務器部署擴展到大型、複雜的多數據中心架構。利用內存計算的優點,MongoDB可以提供高性能的數據讀寫操做。 MongoDB的本地複製和自動故障轉移功能使您的應用程序具備企業級的可靠性和操做靈活性。shell
本文采用docker安裝mongoDB數據庫
訪問:https://hub.docker.com/r/bitnami/mongodb/ 選取須要的版本號,具體操做也可查看springboot
docker pull bitnami/mongodb docker run --name mongodb -d -p 27017:27017 bitnami/mongodb
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
#mongoDb spring.data.mongodb.host=127.0.0.1 spring.data.mongodb.port=27017 #數據庫名稱 spring.data.mongodb.database=behavior
@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"); }