這幾天學習了下MongoDB。在這邊分享下本身的學習經歷。sql
首先咱們須要瞭解下什麼是MongoDB。在這套用下官方回答。mongodb
MongoDB 是一個基於分佈式文件存儲的數據庫。由 C++ 語言編寫。旨在爲 WEB 應用提供可擴展的高性能數據存儲解決方案。數據庫
MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。服務器
NoSQL就很少說了,這種百度、google均可以查到。app
MongoDB中包含了一些概念,database(數據庫),collection(數據庫表/集合),document(數據記錄行/文檔),field(數據字段/域),index(索引),primary key(主鍵,MongoDB自動將_id字段設置爲主鍵)分佈式
啓動鏈接mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]。性能
username:password@這個是帳號密碼,可選,也就是說能夠不設置帳號密碼(測試數據庫能夠這樣作,可是別傻傻的在release環境也這麼搞)學習
host1 必須的指定至少一個host, host1 是這個URI惟一要填寫的。它指定了要鏈接服務器的地址。若是要鏈接複製集,請指定多個主機地址。測試
portX 可選的指定端口,若是不填,默認爲27017google
/database 若是指定username:password@,鏈接並驗證登錄指定數據庫。若不指定,默認打開 test 數據庫。
?options 是鏈接選項。若是不使用/database,則前面須要加上/。全部鏈接選項都是鍵值對name=value,鍵值對之間經過&或;(分號)隔開
舉慄說明:mongodb://localhost:27017/jk-dev
關於options比較多,詳細的能夠本身查下官方文檔
這樣咱們就鏈接上MongoDB,接下來咱們要進行增刪改查。
use DATABASE_NAME 若是數據庫不存在,則建立數據庫,不然切換到指定數據庫。
show dbs查看全部數據庫。
use runoob這樣咱們建立一個名字爲runoob的數據庫
db.runoob.insert({"name":"菜鳥教程"}) 咱們剛建立的數據庫 runoob 並不在數據庫的列表中, 要顯示它,咱們須要向 runoob 數據庫插入一些數據。
db.dropDatabase() 刪除數據庫
db.createCollection(name, options) 建立集合
db.createCollection("col", { capped : true, autoIndexId : true, size : 6142800, max : 10000 } )
db.col.drop() 刪除集合
db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一個 Nosql 數據庫',by: '菜鳥教程',url: 'http://www.runoob.com',tags: ['mongodb', 'database', 'NoSQL'], likes: 100}) 建立文檔
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}}) 更新文檔
db.col.remove({'title':'MongoDB 教程'}) 刪除文檔
db.col.find().pretty() 查詢文檔
db.col.find({"by":"菜鳥教程", "title":"MongoDB 教程"}).pretty() 按條件查詢
db.collection.find(query, {title: 1, by: 1}) // inclusion模式 指定返回的鍵,不返回其餘鍵
db.collection.find(query, {title: 0, by: 0}) // exclusion模式 指定不返回的鍵,返回其餘鍵
db.collection.find(query, {_id:0, title: 1, by: 1}) // 只能全1或全0,除了在inclusion模式時能夠指定_id爲0
增刪改查就到這裏了。