javascript
spring cloud alibaba微服务原理与实战_SpringBoot+Cloud全家桶微服务实战项目之文档型数据库MongoDB四...
?一.MongoDB簡介以及使用場景
MongoDB 是一個跨平臺的,面向文檔的數(shù)據(jù)庫,是當(dāng)前 NoSQL 數(shù)據(jù)庫產(chǎn)品中最熱門的一種。它介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的產(chǎn)品。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似 JSON 的 BSON 格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。
1.特點
MongoDB 最大的特點是他支持的查詢語言非常強(qiáng)大,其語法有點類似于面向?qū)ο蟮牟?/p>
詢語言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。它是一個面向集合的,模式自由的文檔型數(shù)據(jù)庫。
具體特點總結(jié)如下:
(1)面向集合存儲,易于存儲對象類型的數(shù)據(jù)
(2)模式自由
(3)支持動態(tài)查詢
(4)支持完全索引,包含內(nèi)部對象
(5)支持復(fù)制和故障恢復(fù)
(6)使用高效的二進(jìn)制數(shù)據(jù)存儲,包括大型對象(如視頻等)
(7)自動處理碎片,以支持云計算層次的擴(kuò)展性
(8)支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及 C++語言的驅(qū)動程
序,
社區(qū)中也提供了對 Erlang 及.NET 等平臺的驅(qū)動程序
(9) 文件存儲格式為 BSON(一種 JSON 的擴(kuò)展)
2.體系結(jié)構(gòu)
與mysql相比較
3.數(shù)據(jù)類型
基本數(shù)據(jù)類型
null:用于表示空值或者不存在的字段,{“x”:null}
布爾型:布爾類型有兩個值true和false,{“x”:true}
數(shù)值:shell默認(rèn)使用64為浮點型數(shù)值。{“x”:3.14}或{“x”:3}。對于整型值,可以使用NumberInt(4字節(jié)符號整數(shù))或NumberLong(8字節(jié)符號整數(shù)),{“x”:NumberInt(“3”)}{“x”:NumberLong(“3”)}
字符串:UTF-8字符串都可以表示為字符串類型的數(shù)據(jù),{“x”:“呵呵”}
日期:日期被存儲為自新紀(jì)元依賴經(jīng)過的毫秒數(shù),不存儲時區(qū),{“x”:new Date()}
北京市昌平區(qū)建材城西路金燕龍辦公樓一層 電話:400-618-9090
正則表達(dá)式:查詢時,使用正則表達(dá)式作為限定條件,語法與JavaScript的正則表達(dá)式相
同,{“x”:/[abc]/}
數(shù)組:數(shù)據(jù)列表或數(shù)據(jù)集可以表示為數(shù)組,{“x”: [“a“,“b”,”c”]}
內(nèi)嵌文檔:文檔可以嵌套其他文檔,被嵌套的文檔作為值來處理,{“x”:{“y”:3 }}
對象Id:對象id是一個12字節(jié)的字符串,是文檔的唯一標(biāo)識,{“x”: objectId() }
二進(jìn)制數(shù)據(jù):二進(jìn)制數(shù)據(jù)是一個任意字節(jié)的字符串。它不能直接在shell中使用。如果要
將非utf-字符保存到數(shù)據(jù)庫中,二進(jìn)制數(shù)據(jù)是唯一的方式。
代碼:查詢和文檔中可以包括任何JavaScript代碼,{“x”:function(){/…/}}
4.使用場景
溫度 濕度 的記錄
駕車記錄
評論數(shù)據(jù)
一般都是數(shù)據(jù)不太重要,而且不做修改的,這樣的數(shù)據(jù)適合用MongoDB
二.java操作mongoDB
安裝 window版 一路next 就ok了
window安裝: mongod.exe 服務(wù)端名稱
mongo.exe 客戶端
mongod.exe --dbpath=磁盤目錄名
默認(rèn)端口 : 27017
默認(rèn)連接名稱為:"test"
docker安裝:
連接注意添加: mongo.exe + 端口號
1.創(chuàng)建數(shù)據(jù)庫 user 數(shù)據(jù)庫名稱 如果有就是直接使用,反之創(chuàng)建
2.創(chuàng)建集合(collection) -新增文檔需要指定集合名稱 db.集合名稱.insert({"x":"y"})文檔標(biāo)識手動指派,也是通過mongodb自動生成
db.spit.insert({ "content": "快過年了,心里好激動總結(jié)
以上是生活随笔為你收集整理的spring cloud alibaba微服务原理与实战_SpringBoot+Cloud全家桶微服务实战项目之文档型数据库MongoDB四...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32F103+CubeMX-Kei
- 下一篇: oracle 审计数据大,oracle审