我有一个体积适中的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?”我猜它有一个它想要的包装片(称为对象键字符串),但我不确定它应该是什么样的。
答案 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"