MongoDB(二) Shell 命令
阿新 • • 發佈:2018-04-15
數據 esc lec 函數 bool rip mongodump drop 所有
創建數據庫
MongoDB 創建數據庫的語法格式如下:
use DATABASE_NAME
如果數據庫不存在,則創建數據庫,否則切換到指定數據庫。
如果你想查看所有數據庫,可以使用 show dbs 命令:
show dbs
刪除數據庫
MongoDB 刪除數據庫的語法格式如下:
db.dropDatabase()
刪除當前數據庫,默認為 test,你可以使用 db 命令查看當前數據庫名。
刪除集合
集合刪除語法格式如下:
db.collection.drop()
插入文檔
文檔的數據結構和JSON基本一樣。
所有存儲在集合中的數據都是BSON格式。
BSON是一種類json的一種二進制形式的存儲格式,簡稱Binary JSON。
MongoDB 使用 insert() 或 save() 方法向集合中插入文檔,語法如下:
db.COLLECTION_NAME.insert(document)
示例:
db.col.insert({"title": "個人主頁",
"description": "zhongchun的主頁",
"by": "zhongchun",
"url": "http://yuzhongchun.com",
"tags": [‘mongodb‘, ‘database‘, ‘NoSQL‘],
"likes": 100})
document=({"title": "個人主頁", "description": "zhongchun的主頁", "by": "zhongchun", "url": "http://yuzhongchun.com", "tags": [‘mongodb‘, ‘database‘, ‘NoSQL‘], likes: 100}) // 執行後如下 { "title" : "個人主頁", "description" : "zhongchun的主頁", "by" : "zhongchun", "url" : "http://yuzhongchun.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } // 執行插入操作 db.col.insert(document) WriteResult({ "nInserted" : 1 })
插入文檔也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法類似於 insert() 方法。如果指定 _id 字段,則會更新該 _id 的數據。
更新文檔
MongoDB 使用 update() 和 save() 方法來更新集合中的文檔。接下來讓我們詳細來看下兩個函數的應用及其區別。
update() 方法
語法格式如下:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
參數說明:
query : update的查詢條件,類似sql update查詢內where後面的。
update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的
upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,默認是false,不插入。
multi : 可選,mongodb 默認是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。
writeConcern :可選,拋出異常的級別。
示例:
db.col.update({‘title‘: "個人主頁"}, {$set:{‘title‘: "BerMaker"}})
save() 方法
語法格式如下:
db.collection.save(
<document>,
{
writeConcern: <document>
}
)
參數說明:
document : 文檔數據。
writeConcern :可選,拋出異常的級別。
示例:
db.col.save({"_id" : ObjectId("59a6a3d4963d665550f6e2d2"), "title" : "不涸", "description": "zhongchun的主頁"})
運行結果:
> db.col.find().pretty()
{
"_id" : ObjectId("59a6a3d4963d665550f6e2d2"),
"title" : "不涸",
"description" : "zhongchun的主頁"
}
刪除文檔
備份與還原
mongodump -h 10.94.241.53 --port 8017 -d boundary_tool -o /home/map/data/mongo/201708301810
mongorestore -h 10.101.44.169 --port 27017 -d boundary_tool --drop /home/wuzhibin/yuzhongchun/data/mongo/boundary_tool
drop 表示先刪除所有的記錄,然後恢復。
單表導出與導入
導出
mongoexport --host 10.206.210.30 --port 27019 --db boundary_tool --collection boundary --out boundary.json
導入
mongoimport --host 127.0.0.1 --port 8017 --db boundary_tool --collection boundary --file boundary.json
參考
- mongodb 數據庫操作--備份 還原 導出 導入
MongoDB(二) Shell 命令