一、MongoDB基礎概念
在mongodb中是通過數據庫、集合、文檔的方式來管理數據,下邊是mongodb與關係數據庫的一些概念對比:
SQL術語/概念 |
MongoDB術語/概念 |
解釋/說明 |
database |
database |
數據庫 |
table |
collection |
數據庫表/集合 |
row |
document |
數據記錄行/文檔 |
column |
field |
數據字段/域 |
index |
index |
索引 |
table joins |
|
表連接(MongoDB不支持) |
primary key |
primary key |
主鍵 MongoDB自動在每個集合中添加_id主鍵 |
1、一個mongodb實例可以創建多個數據庫
2、一個數據庫可以創建多個集合
3、一個集合可以包括多個文檔。
連接MongoDB
mongodb的使用方式是客戶服務器模式,即使用一個客戶端連接mongodb數據庫(服務端)。
1、 命令格式 :
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][? options]]
mongodb:// 固定前綴
username:賬號,可不填
password:密碼,可不填
host:主機名或ip地址,只有host主機名爲必填項。
port:端口,可不填,默認27017
/database:連接某一個數據庫
?options:連接參數,key/value對
二、簡單命令
數據庫
1、查詢數據庫 show dbs 查詢全部數據庫 db 顯示當前數據庫
2、創建數據庫 命令格式: use DATABASE_NAME 例子: use test02 有test02數據庫則切換到此數據庫,沒有則創建。
注意: 新創建的數據庫不顯示,需要至少包括一個集合。
3、刪除數據庫(慎用!!!) 命令格式: db.dropDatabase()
例子: 刪除test02數據庫 先切換數據庫:use test02 再執行刪除:db.dropDatabase()
集合
集合相當於關係數據庫中的表,一個數據庫可以創建多個集合,一個集合是將相同類型的文檔管理起來。
1、創建集合 db.createCollection(name, options) name: 新創建的集合名稱 options: 創建參數
2、刪除集合 db.collection.drop() 例子: db.student.drop() 刪除student集合
文檔
mongodb中文檔的格式是json格式,下邊就是一個文檔,包括兩個key:
_id主鍵和name { "_id" : ObjectId("5b2cc4bfa6a44812707739b5"), "name" : "x" }
插入命令: db.COLLECTION_NAME.insert(document)
每個文檔默認以_id作爲主鍵,主鍵默認類型爲ObjectId(對象類型),mongodb會自動生成主鍵值。
例子:db.student.insert({"name":"x","age":10}) 注意:同一個集合中的文檔的key可以不相同!但是建議設置爲相同的。
更新文檔
在這裏插入代碼片
db.collection.update(
<query>,
<update>,
<options>
)
query:查詢條件,相當於sql語句的where update:更新文檔內容 options:選項
刪除文檔
命令格式: db.student.remove(<query>)
query:刪除條件,相當於sql語句中的where
1、刪除所有文檔 db.student.remove({})
2、刪除符合條件的文檔 db.student.remove({"name":"x"})
查詢文檔
db.collection.find(query, projection)
query:查詢條件,可不填
projection:投影查詢
key,可不填 、 查詢全部
db.student.find() 、查詢符合條件的記錄 查詢name等爲"x"的文檔。
db.student.find({"name":"x"}) 、投影查詢 只顯示name和age兩個key,_id主鍵不顯示。
db.student.find({"name":"x"},{name:1,age:1,_id:0})