我运行了一个mongo import命令来导入我的json文件,但所有数据都保存在一个对象下。
mongoimport -d DB NAME -c COLLECTION NAME --type json --file FILE PATH --host MY MONGO LAB HOST --port 27892 -u MYUSER -p MYPASSWORD
但现在当我在mongorobot看到db时
JSON
{
"-Kbr7KouYOL_a9NIAyPV" : {
"correctas" : [ 1 ],
"creator_name" : "kk",
"game_name" : "Elrubius",
"jugado" : 62,
"opciones1" : [ "Por usar una pistola falsa" ],
"opciones2" : [ "Por matar" ],
"opciones3" : [ "Por robar" ],
"opciones4" : [ "Por estar tomando alcol" ],
"preguntas" : [ "Elrubius porque fue detenido" ],
"premium" : false
},
"-Kbr8RJMSCv95m6TS4Of" : {
"correctas" : [ 2 ],
"creator_name" : "CRIATURITA",
"game_name" : "ELRUBIOSOMG",
"jugado" : 34,
"opciones1" : [ "Carlos" ],
"opciones2" : [ "Ruben" ],
"opciones3" : [ "Jorge" ],
"opciones4" : [ "Chavez" ],
"preguntas" : [ "Como se llama elrubiusomg?" ],
"premium" : false
},
由于
答案 0 :(得分:1)
问题是您将文档合并到一个文档中。
您的格式(缩进)会隐藏您正在执行的操作。但是......这就是你正在使用的问题(为了简洁而删除了一些属性):
{
"-Kbr7KouYOL_a9NIAyPV": {
"creator_name": "kk",
"game_name": "Elrubius",
"jugado": 62,
"premium": false
},
"-Kbr8RJMSCv95m6TS4Of": {
"creator_name": "CRIATURITA",
"game_name": "ELRUBIOSOMG",
"jugado": 34,
"premium": false
}
}
这只会给你一个包含大量子文档的巨型文档。最终,您将超过单个文档的大小。
此外,您构建JSON的方式是为每个文档创建唯一的属性名称:
-Kbr7KouYOL_a9NIAyPV
-Kbr8RJMSCv95m6TS4Of
我怀疑这是你的意图;你永远无法对其进行查询,因为每个文档都有一个唯一的属性名称。
您需要修复JSON以表示几个单独的文档。并修复该唯一ID,以便查询。类似的东西:
{
"id": "-Kbr7KouYOL_a9NIAyPV",
"creator_name": "kk",
"game_name": "Elrubius",
"jugado": 62,
"premium": false
}
{
"id": "-Kbr8RJMSCv95m6TS4Of",
"creator_name": "CRIATURITA",
"game_name": "ELRUBIOSOMG",
"jugado": 34,
"premium": false
}
然后您可以导入这组文档。
请注意,在我的示例中,我添加了id
属性。如果您没有指定一个属性,MongoDB会创建一个唯一的_id
属性。因此,如果要覆盖MongoDB的保证唯一属性,可以在上面的示例中将id
替换为_id
。
答案 1 :(得分:0)
我很快意识到这是Firebase数据库格式。真是一团糟 ?您付钱给他们提取数据库,这就是他们给您的。我和你在一起:-(我无法修复2 GB的json文件以使其与Mongo兼容。