2015年6月25日 星期四

Mongo 的 BSON 格式與匯出匯入問題

前些陣子在備份 mongodb 時,遇到了一些格式的問題,然而在看完官方的參考資料(
Import and Export MongoDB Data 和 BSON)後,想以此篇提醒自己。

Mongo在處理的資料格式為 BSON,它看起來的格式如同 JSON 一樣,但要注意的是他不會用 [] 以及 , 來區別每一個 documents 。

舉例來說 JSON 會如此來描述一個結構:

[
    { "_id":"ord123","title":"test1" },
    { "_id":"ord456","title":"test2" },
    { "_id":"ord789","title":"test3" }
]

然而 BSON 會如此來描述:

{ "_id":"ord123","title":"test1" }
{ "_id":"ord456","title":"test2" }
{ "_id":"ord789","title":"test3" }

而 BSON 就是 Mongo import&export 的預設格式,因此 BSON 格式就是 Mongo 所預設接受的檔案格式,這也不代表不能夠匯入JSON格式的檔案,只要在 mongoimport 指令最後加入 --jsonArray,就可以以我們習慣的JSON格式來作為匯入 Mongodb 的檔案格式。