mongodump 和 mongoexport 有什麼區別?
我知道當我們必須在數據庫和集合級別進行完整備份時,我們使用 mongodump 但使用 mongodump 我們也可以備份特定記錄,那麼 mongodump 和 mongoexport 有什麼區別?
mongodump
生成數據的二進制副本;它可以創建更好、更有效的備份。
mongoexport
可以創建 JSON 文件;這些可以被其他程序使用,並且基本上是人類可讀的。
根據 MongoDB BOL,這裡 的 mongodump 是一個用於創建數據庫內容的二進制導出的實用程序。可以從其中一個或多個實例
mongodump
中導出數據。僅擷取數據庫中的文件。生成的備份節省空間。預設情況下,不擷取.mongod``mongos``mongodump``mongodump``local database
更改
version 3.4
:MongoDB 3.4添加了對只讀視圖的支持。預設情況下,mongodump
僅擷取 aview’s metadata
:它不會創建視圖中包含的文件的二進制導出。要在視圖中擷取文件,請使用--viewsAsCollections
.其中 MongoDB 文件這裡mongoexport 是一個實用程序,可以生成儲存在 MongoDB 實例中的數據的JSON或**CSV導出。**從系統命令行而不是
mongo
shell 執行 mongoexport。mongoexport 所需訪問權限
mongoexport
需要對目標數據庫進行讀取訪問。- 確保連接使用者至少擁有目標數據庫的讀取角色。
- 連接到強制身份驗證的
mongod
或mongos
時,請確保使用基於configured authentication mechanism
.另外,請注意:
警告:避免使用mongoimport和mongoexport進行完整實例生產備份。它們不能可靠地保留所有豐富的 BSON 數據類型,因為 JSON 只能表示 BSON 支持的類型的子集。使用MongoDB 備份方法中的mongodump和mongorestore來 實現這種功能。
雖然, MongoDB 4.4 文件中不存在這樣的警告。