2013-11-15 39 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