基於docker 初學 MongoDb 學習筆記

木大大發表於2021-05-01

建立容器

# 拉取映象
docker pull mongo 

# 建立容器
# 定義容器名稱 --name  my-mongo
# 宿主機埠 27018 與容器埠 27017 對映繫結 -p 27018:27017
# -d 後臺執行容器,並返回容器id
# 如果加需要驗證就加--auth,不需要驗證,就去掉。預設mongodb是不使用使用者認證
docker run --name  my-mongo  -p 27018:27017  -d mongo --auth

進入容器

docker exec -it 容器id /bin/bash

mongo
use admin
db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]})   //建立使用者,此使用者建立成功,則後續操作都需要使用者認證
exit

或者直接進入admin

docker exec -it ly-mongo mongo admin

db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]})   //建立使用者,此使用者建立成功,則後續操作都需要使用者認證
exit

測試

# 在容器中執行
# mongo  宿主機ip/admin  -uroot -p

root@ae8c7278eab6:/# mongo  192.168.136.148:27018/admin  -uroot -p
MongoDB shell version v4.4.5
Enter password: 

輸入之前設定的密碼 root

MongoDb 學習筆記

哦了,測試環境就這樣了,可以開始練習mongodb的相關命令了

在學習mongodb之前相關的概念有必要理解以下,畢竟在mongodb中沒有表這個概念

SQL術語/概念 MongoDB術語/概念 解釋/說明
database database 資料庫
table collection 資料庫表/集合
row document 資料記錄行/文件
column field 資料欄位/域
index index 索引
table joins 表連線,MongoDB不支援
primary key primary key 主鍵,MongoDB自動將_id欄位設定為主鍵

相關操作命令

# 選擇(建立)資料庫,在資料庫沒有資料之前並沒有實際建立資料庫
use test_db

# 顯示資料庫列表
show dbs

# 建立集合,集合名 user
db.createCollection('user')

# 在集合中新增文件,即新增了個 json 資料 {'ab':'xyz'}
db.user.insert({'ab':'xyz'})

# 新增多個文件
db.user.insert([{'ab':'xyz'},{'11':'22'}])

# 查詢文件,查詢 欄位 ab=xyz 的文件
db.user.find({'ab':'xyz'})

相關事項

筆記就先寫到這裡,還在學習中,日後再更新

相關連結

Docker搭建MongoDB

MongoDb命令手冊

在Laravel中使用MongoDB

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章