mongodb重新命名資料庫及常用mongodb命令
阿新 • • 發佈:2018-12-24
由於工作需要想要更改資料庫名稱,為其賦予一個更易與理解的名字,由於已儲存資料較多,重新轉存效率較低,遂打算直接修改資料庫名稱。
經過查閱官網內容、社群、部落格,發現mongodb未提供直接修改資料庫名稱的方法,社群中有人說可以通過重新命名collection的方法間接實現目的。
步驟如下:
# 首先進入mongodb
use yourdbname
use admin #使用管理員許可權
db.runCommand({renameCollection:"yourdbname.yourcollection", to:"newdbname.yourcollection"})
通過上述操作原先的資料即被移動到新的資料庫中,原資料庫不再包含該collection。新資料庫的collection名稱和原資料庫的collection名稱可以相同。
其他mongodb命令整理
使用mongodb命令列上傳一張圖片
# 無需進入mongodb,直接在命令列下操作
mongofiles put --host 127.0.0.1 --port 27017 --db test --local C:\Users\MaMQ\Pictures\IMG_0633.JPG photo1.jpg --type JPG
--host 是mongodb的ip;
--port 是埠號
--db 是資料庫的名稱
--local 要填2個引數,第一個是本地圖片的路徑,第二個是在資料庫中的別名。
--type 是儲存的格式。
show dbs # 檢視資料庫列表
use yourdb # 進入資料庫
show collections # 檢視當前資料庫下所有集合
db.yourcollection.distinct("url") # 得到url欄位不重複的url列表
db.yourcollection.distinct("url") # 統計url欄位不重複的資料量
db.yourcollection.remove({"key":"value"}) # 刪除符合該條件的所有資料,刪除後無法恢復、撤回
db.yourcollection.drop() # 刪除集合
db.dropDatabase() # 刪除資料庫
db.yourcollection.insert ({"url":"http://blog.csdn.net/qq_23926575/article/category/7428558", "name":"MoonBreeze", "blog_num":30})
db.yourcollection.update({"name":"MoonBreeze"},{"$set":{"blog_num":35}}) # 更新資料,首先查詢name欄位為MoonBreeze的資料,然後更改blog_num欄位的值。
#更新後的資料為{"url":"http://blog.csdn.net/qq_23926575/article/category/7428558", "name":"MoonBreeze", "blog_num":35}