mongoimport如何解释JSON?

时间:2017-10-03 22:26:07

标签: json mongodb npm

我有一个体积适中的json文件,我需要将其导入mongo以用作测试数据。但是,当我尝试使用mongoimport时,我会收到响应

  

失败:错误处理文档#1:无效字符'}'正在寻找对象键字符串的开头

这是我试图导入的JSON片段。请注意,删除空行并不能解决我的问题,而JSON invalid character '}' looking for beginning of object key string中的建议就像通过linter运行JSON一样,并没有解决我的问题。它被认为是有效的JSON,但不适用于mongoimport。

[{
    "prompt_id": "id1",
    "prompt_text": "What is the best advice you’ve ever received? What were you doing at the time?"

},
{
    "prompt_id": "id2",
    "prompt_text": "Write from a ladybug’s point of view. What does a typical day look like for you?"

}]

这是我正在使用的终端命令

mongoimport --db testdb --collection prompts --file "fullfilepath\prompts.json"

我的问题是“mongoimport如何看待JSON?”我猜它有一个它想要的包装片(称为对象键字符串),但我不确定它应该是什么样的。

1 个答案:

答案 0 :(得分:0)

我通过在数据库中使用的集合上使用mongoexport找到答案,然后在我的JSON中迭代单个对象,直到它mongoimport正确。之后,它只是一些简单的替换操作,导致我的整个JSON导入正确。

因此,在回答我的原始问题时,您需要一个对象ID(下例中为_id)才能使mongoimport命令生效。

以下是JSON在被接受时的样子:

{
    "_id":{
        "$oid": "69d4023e2cd5ac10f8b92d40"
    },
    "prompt_id": "promptid1",
    "prompt_text": "What is the best advice you’ve ever received? What were you doing at the time?"
}
{
    "_id":{
        "$oid": "69d4023e2cd5ac10f8b92d41"
    },
    "prompt_id": "promptid2",
    "prompt_text": "Write from a ladybug’s point of view. What does a typical day look like for you?""
}

请注意,我使用了相同的命令,而不需要--jsonArray标志。

mongoimport --db testdb --collection prompts --file "fullfilepath\prompts.json"