MongoDB 常用的十條指令

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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章