2013-11-15 79 views
0

我試圖將MongoDB集合導入Firebase。我用mongo命令創建了一個導出文件mongoexport -d RxData -c rxInfos -o rx_export.json。當我嘗試將文件導入到Filebase時,出現錯誤解析JSON數據時出錯。請驗證您的輸入。從MongoDB導入到Firebase

我假設因爲Firebase在MongoDB上運行,它只是一個簡單的導出 - >導入過程。有什麼我在這裏失蹤?

導出文件在這裏可用,大約200 MB。

http://www.filedropper.com/rxexport1

+0

是否export.json解析爲有效JSON數據? – Kato

+0

我不太確定爲什麼它不會驗證。它是從現有的MongoDB集合中導出的。我會假設從這個創建的JSON文件將是有效的。 – jamesamuir

+1

另請參閱:http://stackoverflow.com/a/18922121/209103 –

回答

5

以快速瀏覽一下,你上傳和鏈接的文件rx_export.json,有幾個問題:

  • 的文件是不是有效的JSON作爲一個整體,雖然每一行本身是有效的JSON。如果你看看文件中的行由行,你會看到以下,這是缺乏周圍物體,每個孩子對象鍵和逗號分隔每個孩子:

    { "_id" : { "$oid" : "<id1>" }, ... } 
    { "_id" : { "$oid" : "<id2>" }, ... } 
    
  • 而且,目前火力地堡強加一些關鍵限制(見https://www.firebase.com/docs/creating-references.html)和下面是不允許的,但一些存在於你的文件:

    • .(期)
    • $(美元符號)
    • [(左方括號)
    • ](右括號)
    • #(井號)
    • /(正斜槓)
+2

就是這樣。我仍然感到困惑,MongoDB不會使用集合名稱或其他東西包裝導出結果。我在json文件中添加了一個數組封裝器,並刪除了oid的$符號以及成功導入的文件。更新的示例文件可以在這裏找到。 http://www.filedropper.com/rxsamplejson感謝您的幫助。 – jamesamuir