我有几个有效的JSON文档,我尝试在mongodb中导入它们。
{ "Books":
[{ "ISBN":"ISBN-0-13-713526-2",
"Price":85,
"Edition":3,
"Title":"A First Course in Database Systems",
"Authors":[ {"First_Name":"Jeffrey", "Last_Name":"Ullman"},
{"First_Name":"Jennifer", "Last_Name":"Widom"} ] }
,
{ "ISBN":"ISBN-0-13-815504-6",
"Price":100,
"Remark":"Buy this book bundled with 'A First Course' - a great deal!",
"Title":"Database Systems:The Complete Book",
"Authors":[ {"First_Name":"Hector", "Last_Name":"Garcia-Molina"},
{"First_Name":"Jeffrey", "Last_Name":"Ullman"},
{"First_Name":"Jennifer", "Last_Name":"Widom"} ] }],
"Magazines":
[{ "Title":"National Geographic",
"Month":"January",
"Year":2009 }
,
{ "Title":"Newsweek",
"Month":"February",
"Year":2009 },
{"Title": "Newsweek"}]
}
我收到以下错误:
Sun Mar 24 15:23:27异常:提供的JSON的BSON表示是 太大:解析JSON字符串失败:“月”:“J Sun Mar 24
15:23:27异常:提供的JSON的BSON表示太大了: 解析JSON字符串失败:“年”:200 Sun Mar 24 15:28:23
错误:遇到28个错误
有人会说出错了吗?
答案 0 :(得分:31)
默认情况下,mongoimport
期望每个文档都位于JSON文件的单行上。您需要使用您正在使用的格式将--jsonArray
传递给mongoimport
,或者只是确保单个文档的所有数据都在一行上。
(我按原样保存了您的文件,添加了--jsonArray
选项,但它运行正常。)
答案 1 :(得分:1)
MongoDB每个文档的限制为16 MB。如果您想要克服此限制,则需要使用GridFS
。请查看文档here。
答案 2 :(得分:0)
来自终端的以下命令对我有用:
mongoimport -d my_db -c my_collection < my_json_file.json --batchSize 1
某些版本需要更改--batchSize
50而不是1,如下所示:
mongoimport -d my_db -c my_collection < my_json_file.json --batchSize 50
答案 3 :(得分:0)
如果要导入json文件,也可以使用
也适用于csv使用AnswerType:::class
--type csv