使用MongoDB導入和導出Json文檔
最近項目需要,所以研究了一下Mongodb對於文檔的導出和導入,因爲只用到了json格式所以這裏僅僅介紹對json文檔的導出和導入
導出導入的兩種方法:
- MongoDB Compass界面操作
- Mongo Shell 命令行操作
1. MongoDB Compass
因爲這個有可視化窗口,操作非常直接,詳情見下圖:
第一步,創建對應的Collection來保存你將要導入的數據
然後點擊界面左上方有一個Collection的選項,點開下拉框就會看到有“Import Data”和“Export Collection”兩個選項分別是導入數據和導出集合。這裏有一個小細節要注意,就是如果你當前沒有選中任何Collection的話,這個Collection的選項是不會出現的,所以這就是爲什麼要先創建對應的集合的原因。當然,如果你是要導入現有的集合中,直接選中現有的集合,再到左上角找這個按鈕即可
然後你就根據自己的需要,選擇對應的操作就可以啦。非常簡單。
值得一提的就是導出的時候你還可以輸入篩選語句去篩選導出結果。
2. Mongo Shell 命令行操作
Mongo Shell 帶有對應的導出和導入指令,詳情點擊這個官方文檔
主要是通過兩個指令:
- 導入:mongoimport
- 導出:mongoexport
使用格式:
導入
mongoimport --db 數據庫名字 --collection 集合名 --file 文檔名.json
除了上面幾個必須的屬性還有其他很多屬性可以在命令行中插入以實現不同功能,這裏主要提一下兩個我用到的屬性:
- –drop:當加入了這個屬性之後,當導入數據時,如果數據庫已然存在該集合,會自動把集合清空後再導入數據。這個就看情況使用啦,如果你不希望原有數據污染導入數據就加入這個特性。
- –jsonArray: 加入這個屬性後表明導入的數據是嚴謹的json格式。這個看起來挺廢話的但是需要注意的是,從MongoDB中導出的json文件其實並不是嚴謹的json格式表,只是一串json對象排在一起的文檔,對象之間並沒有用逗號分隔開,以及開頭和結尾也缺失包含括號。所以如果你要導入的數據是這樣的格式,就不能加入–jsonArray的特性。反之,如果你的json文檔是嚴謹的json內容,就需要加入這個特性才能更好地讀取導入內容
導出
mongoexport --db 數據庫名字 --collection 集合名 --out 文檔名.json
導出我並沒有研究太多的屬性,所以這裏就不瞎講了,以後如果用到了會再回來補充。不過如果大家需要研究更多的屬性還是去官方文檔查詢即可。
筆記到這裏就結束了,以後如果有新內容我會回來更新。希望這份筆記也能幫到你。謝謝閱讀!