兩個重要的概念
- 集合:類似于關系型數(shù)據(jù)庫中的表
- 文檔:類似關系型數(shù)據(jù)庫中的每一行數(shù)據(jù)
開啟數(shù)據(jù)庫服務+運行mongo shell
- sudo systemctl start mongo -- 開啟mongodb服務
- sudo systemctl status mongo -- 查看mongodb運行狀態(tài)
- mongo -- 進入 mongo shell 交互式的命令行,可以使用相關命令執(zhí)行數(shù)據(jù)操作
- mongo "mongodb://mongodb0.example.com:28015" -- 連接遠程數(shù)據(jù)庫
- mongo --username <user> --password --host <host> --port 28015 -- 使用用戶名密碼登錄mongo數(shù)據(jù)庫
基本的操作
一些基本的命令:
show dbs -- 查看數(shù)據(jù)庫列表
db -- 查看當前數(shù)據(jù)庫名稱
use [dbName] -- 使用指定的數(shù)據(jù)庫
show collections -- 查看當前數(shù)據(jù)庫中的集合列表
增刪改查操作
- 增加风喇,即插入數(shù)據(jù)
db.[collectionName].insertOne({prop: value, prop: value}) -- 往集合中插入一條數(shù)據(jù)
返回成功結果:
{
"acknowledged" : true,
"insertedId" : ObjectId("5fbe6b1666ec27aa4aedf08a")
}
db.[collectionName].insertMany([{prop: value, prop: value}, {}]) -- 往集合中插入多條數(shù)據(jù)
返回成功結果:
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("5fbe6bb866ec27aa4aedf08d"),
ObjectId("5fbe6bb866ec27aa4aedf08e")
]
}
db.[collectionName].insert() -- 既可以插入一條文檔宁改,也可以插入文檔集合
返回成功結果:
// 插入單條數(shù)據(jù)
WriteResult({ "nInserted" : 1 })
// 插入一組數(shù)據(jù)
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 2,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
- 查詢
db.[collectionName].findOne({}) -- 查詢一條數(shù)據(jù),方法第一個參數(shù)接一個對象過濾條件魂莫,第二個參數(shù)設置一些返回數(shù)據(jù)的規(guī)則还蹲,比如一般不需要返回 _id,只需要設置第二個對象參數(shù)為{_id: 0}
0 表示 exclude
1 表示 include
db.[collcetionName].find() -- 返回符合條件的所有數(shù)據(jù)
db.[collcetionName].find().pretty() -- 美化符合條件的所有數(shù)據(jù)
快捷鍵
- ↑ ↓ 可以查看使用過的命令
- tap 可以自動查詢閉合相關命令,相當于關鍵詞聯(lián)想
db.<collectionName>.find + tap
db.users.find( db.users.findOne( db.users.findOneAndReplace(
db.users.findAndModify( db.users.findOneAndDelete( db.users.findOneAndUpdate(
- Home/End -- 回到當前行首/末
- Ctrl-left-arrow / Ctrl-right-arrow -- 回到當前單詞的詞首/詞末
- Ctrl-A / Ctrl-E -- 回到當前行首/末
- Ctrl-B / Ctrl-F -- 后退/前進一個字符
一些名詞翻譯
- host your data:托管你的數(shù)據(jù)
- codepoints 代碼點
- built-in:內(nèi)置
- truncate :截斷
- Alternatively:或者
- explicitly specify:明確指定
- parenthesis:括號
- brace:大括號
- open bracket:括弧
- shortcuts: 快捷鍵