1. 顯示全部可用數據庫
> show dbs;
該命令將展示 mongo 的全部數據庫名稱,並列出來。
2. 切換數據庫
> use mydb;
該命令會選擇一個指定的數據庫,如果數據庫不存在,則會自動創建一個。但是需要注意,由於此時數據庫沒有數據,因此當使用show dbs
命令的時候,看不到該數據庫。只有插入了數據集後纔可以看到。
3. 顯示數據集
> show collections;
該命令將展示當前選擇的數據庫下的數據集。注意如果沒有數據集,則不會顯示任何內容。
4. 插入數據
插入數據的格式爲 db.{數據集名}.insert({數據鍵值對})
,成功後返回插入的條數。
> db.test.insert({"name": "島上碼農"});
WriteResult({ "nInserted" : 1 })
插入多條數據使用中括號括起來即可,此時返回的是批量操作結果,其中 nInserted
返回的是成功插入的條數。。
> db.test.insert([{"name": "島上碼農"},{"name": "掘金"}]);
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 2,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
5. 更新數據
更新一條數據的命令如下,其中格式爲 db.{數據集名}.update({查詢條件}, {$set: {更新後數據}})
。
> db.test.update({"name": "島上碼農"}, {$set: {"name": "碼農"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
以上命令只會更新一條匹配的數據,如果要更新多條,需要增加參數:{multi: true}
。
> db.test.update({"name": "島上碼農"}, {$set: {"name": "碼農"}}, {multi: true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
也可以使用 updateMany 更新多條。
> db.test.updateMany({"name": "碼農"}, {$set: {"name": "島上碼農"}});
{ "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 3 }
6. 替換文檔
替換文檔會使用新的文檔替換掉已有的文檔,其中格式爲 db.{數據集名}.save({新文檔數據})
。例如下面的例子替換了_id 爲60c8a50adb9890bf41255fe4的文檔。
> db.test.save({"_id": "60c8a50adb9890bf41255fe4", "name": "島上碼農-1"});
WriteResult({
"nMatched" : 0,
"nUpserted" : 1,
"nModified" : 0,
"_id" : "60c8a50adb9890bf41255fe4"
})
7. 查詢數據
查詢數據命令爲格式爲 db.{數據集名}.find()
。如果需要限制條數可以加limit(n)
。
> db.test.find();
查詢出來的格式需要美化的話,加上 pretty()
即可。
> db.test.find().pretty();
按條件查詢時,在 find 中添加篩選參數即可。
> db.test.find({"name":"島上碼農"}).pretty();
8. 統計條數
統計時使用 count()
函數即可,如果需要篩選也是在 find 方法中傳篩選條件即可。
> db.test.find().count();
9. 刪除文檔
刪除文檔的格式爲db.test.remove({篩選條件});
> db.test.remove({"name":"島上碼農-1"});
WriteResult({ "nRemoved" : 1 })
刪除一條的使用 deleteOne
方法,刪除多條使用 deleteMany
方法。
> db.test.deleteOne({"name":"島上碼農"});
{ "acknowledged" : true, "deletedCount" : 1 }
> db.test.deleteMany({"name":"島上碼農"});
{ "acknowledged" : true, "deletedCount" : 2 }
10. 查看幫助文檔
對於有些命令不懂操作的,查看操作文檔即可,命令格式爲 db.{數據集名}.help()
。