天天看點

mongodump/mongorestore與mongoexport/mongoimport的差別

除了mongodump/mongorestore之外還有一對組合是mongoexport/mongoimport

差別在哪裡?

mongoexport/mongoimport導入/導出的是JSON格式,而mongodump/mongorestore導入/導出的是BSON格式。

JSON可讀性強但體積較大,BSON則是二進制檔案,體積小但對人類幾乎沒有可讀性。

在一些mongodb版本之間,BSON格式可能會随版本不同而有所不同,是以不同版本之間用mongodump/mongorestore可能不會成功,具體要看版本之間的相容性。當無法使用BSON進行跨版本的資料遷移的時候,使用JSON格式即mongoexport/mongoimport是一個可選項。跨版本的mongodump/mongorestore個人并不推薦,實在要做請先檢查文檔看兩個版本是否相容(大部分時候是的)。

JSON雖然具有較好的跨版本通用性,但其隻保留了資料部分,不保留索引,賬戶等其他基礎資訊。使用時應該注意。

總之,這兩套工具在實際使用中各有優勢,應該根據應用場景選擇使用(好像跟沒說一樣)。但嚴格地說,mongoexport/mongoimport的主要作用還是導入/導出資料時使用,并不是一個真正意義上的備份工具。是以這裡也不展開介紹了。