MongoDB
是一個跨平臺的,面向文檔的數據庫,提供高性能,高可用性和可擴展性方便。 MongoDB
工做在收集和文件的概念。javascript
NoSql
,全稱是 Not Only Sql
,指的是非關係型的數據庫。下一代數據庫主要解決幾個要點:非關係型的、分佈式的、開源的、水平可擴展的。原始的目的是爲了大規模web
應用,這場運動開始於2009年初,一般特性應用如:模式自由、支持簡易複製、簡單的API
、最終的一致性(非ACID
)、大容量數據等。NoSQL
被咱們用得最多的當數key-value
存儲,固然還有其餘的文檔型的、列存儲、圖型數據庫、xml
數據庫等。css
JSON風格文件的形式,面向文檔存儲:數據存儲 對任何屬性可索引 複製和高可用性 自動分片 豐富的查詢 快速就地更新 MongoDB的專業技術支持
大數據 內容管理和交付 移動和社交基礎設施 用戶數據管理 數據平臺
MongoDB
是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。他支持的數據結構很是鬆散,是相似json
的bson
格式,所以能夠存儲比較複雜的數據類型。java
基本的用法是存儲JSON
數據,這很適合JavaScript
程序。其特性以下:web
1. 沒有表結構的概念,每條記錄能夠有徹底不一樣的結構 2. 業務開發方便快捷 3. sql數據庫須要事先定義表結構再使用
第一種、用瀏覽器或者第三方工具下載
當前版本的下載地址: http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.4.6.tgz
正則表達式
或者第二種、打開終端,使用如下命令行下載:sql
curl http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.4.6.tgz > mongodb.tgz
安裝成功以後,「mongod」
命令啓動mongo
數據庫。瀏覽器下輸入http://127.0.0.1:28017 若是能正常顯示mongo
數據庫的信息,則表示啓動成功。mongodb
成功後的界面:shell
1.首先在終端輸入ls
,列出目錄,找到你的mongodb
文件,以tgz
結尾的數據庫
2.打開終端,輸入tar -zxvf mongodb-osx-x86_64-2.4.6
,固然各自的版本號本身對應正確了啊。express
3.將解壓的安裝文件移動到你所喜歡的位置:
mv -n ~/Downloads/mongodb-osx-x86_64-2.4.6 ~/Applications/mongodb/
個人解壓目錄是Downloads
,默認移到Applications
的mongodb
文件夾是看不見的
四、在根目錄 / 下建立 data/db
目錄,用於放置mongodb
數據,而且給該目錄設置權限
sudo mkdir -p /data/db sudo chown -R trigkit4 /data
5.啓動mongodb
服務
打開終端,輸入cd Applications/mongodb/bin
,回車後,再輸入./mongod
6.打開另一個終端,輸入Applications/mongodb/bin
,回車,輸入 ./mongo
文檔是MongoDB
的核心概念,多個鍵及其關聯的值有序地放置在一塊兒即是文檔。 在js
裏,文檔表示爲對象:
{"greenting" : "Hello,world!"}
這個對象只有一個鍵"greeting
",其對應的值"Hello,world!
"
文檔的鍵是字符串,除少數例外狀況,鍵可使用任意UTF-8
字符:
- 鍵不能含有\0(空字符)。這個字符用來表示鍵的結尾 - .和$有特別的意義,只有當特定環境下才能使用,一般來講是被保留了 - 如下劃線"_"開頭的鍵是保留的,雖然不是嚴格要求的
MongoDB
不單區分類型,也區分大小寫,還有,MongoDB
的文檔不能有重複的鍵,例以下面的文檔是非法的:
{"greeting":"Hello,world!","greeting":"Hello,mongoDB!"}
集合是一組文檔。若是說MongoDB
中的文檔相似於關係型數據庫中的行,那麼集合就如同表。
集合是無模式的。這意味着集合裏面的文檔能夠是各式各樣的,例以下面兩個文檔能夠存在於同一個集合裏面:
{"greeting": "Hello,world!"} {"foo": 5}
咱們能夠經過名字來標示集合。集合名能夠是知足下列條件的UTF-8
條件
- 集合名不能是空字符串""。 - 集合名不能含有\0字符(空字符) - 集合名不能以"system."開頭,這是爲系統集合保留的前綴 - 用戶建立的集合名字不能含有保留字符$
組織集合的一種慣例是使用"."
字符分開的按命名空間劃分的子集合。
在shell
查看數據會用到4個基本操做:建立、讀取、更新和刪除(CRUD
)
MongoDB
中多個文檔組成集合,一樣多個集合能夠組成數據庫。一個MongoDB
實例能夠承載多個數據庫,數據庫名能夠是知足如下條件的任意UTF-8
字符串
- 不能是空字符串("") - 不能含有''(空格)、.、$、/、\和\0(空字符) - 應所有小寫 - 最多64字節
MongoDB
支持許多數據類型的列表下面給出:
String : 這是最經常使用的數據類型來存儲數據。在MongoDB中的字符串必須是有效的UTF-8。 Integer : 這種類型是用來存儲一個數值。整數能夠是32位或64位,這取決於您的服務器。 Boolean : 此類型用於存儲一個布爾值 (true/ false) 。 Double : 這種類型是用來存儲浮點值。 Min/ Max keys : 這種類型被用來對BSON元素的最低和最高值比較。 Arrays : 使用此類型的數組或列表或多個值存儲到一個鍵。 Timestamp : 時間戳。這能夠方便記錄時的文件已被修改或添加。 Object : 此數據類型用於嵌入式的文件。 Null : 這種類型是用來存儲一個Null值。 Symbol : 此數據類型用於字符串相同,但它一般是保留給特定符號類型的語言使用。 Date : 此數據類型用於存儲當前日期或時間的UNIX時間格式。能夠指定本身的日期和時間,日期和年,月,日到建立對象。 Object ID : 此數據類型用於存儲文檔的ID。 Binary data : 此數據類型用於存儲二進制數據。 Code : 此數據類型用於存儲到文檔中的JavaScript代碼。 Regular expression : 此數據類型用於存儲正則表達式
MongoDB use DATABASE_NAME
用於建立數據庫。該命令將建立一個新的數據庫,若是它不存在,不然將返回現有的數據庫。
MongoDB db.dropDatabase()
命令是用來刪除一個現有的數據庫。dropDatabase()
命令的基本語法以下:
db.dropDatabase()
MongoDB
的 db.collection.drop()
是用來從數據庫中刪除一個集合。
要插入數據到 MongoDB
集合,須要使用 MongoDB
的 insert()
或 save()
方法。
要從MongoDB
查詢集合數據,須要使用MongoDB
的 find()
方法。
結果顯示在一個格式化的方式,可使用 pretty()
方法.
要限制 MongoDB
中的記錄,須要使用 limit()
方法。 limit()
方法接受一個數字型的參數,這是要顯示的文檔數。
語法:
limit()
方法的基本語法以下
>db.COLLECTION_NAME.find().limit(NUMBER)
建立備份MongoDB
中的數據庫,應該使用mongodump
命令。mongodump
命令的基本語法以下:
>mongodump
恢復備份數據使用MongoDB
的 mongorerstore
命令。此命令將恢復全部的數據從備份目錄。
語法:
mongorestore
命令的基本語法
>mongorestore
剩下的方法或命令你們均可以去網上搜索的,這裏就不接着贅述了啊。