我尝试使用以下命令将我的json文件导入数据库:
mongoimport --db db_name --collection collection_name file.json --jsonArray
但它没有用,我收到了这个错误:
Tue Oct 21 15:42:20.176 check 0 0
Tue Oct 21 15:42:20.176 imported 0 objects
Tue Oct 21 15:42:20.176 ERROR: encountered 1 error(s)
我使用的是MongoDB 2.4.9。有帮助吗?感谢。
编辑: 将-vvvv添加到命令会产生以下结果:
Tue Oct 21 16:02:48.582 creating new connection to:127.0.0.1:27017
Tue Oct 21 16:02:48.583 BackgroundJob starting: ConnectBG
Tue Oct 21 16:02:48.584 connected connection!
connected to: 127.0.0.1
Tue Oct 21 16:02:48.584 ns: ip.ip_data
Tue Oct 21 16:02:48.585 filesize: 3526
Tue Oct 21 16:02:48.585 User Assertion: 13293:BSON representation of supplied JSON array is too large: code FailedToParse: FailedToParse: Date expecting integer milliseconds: offset:211
答案 0 :(得分:3)
当您使用jsonArray
时,总数组大小必须小于16MiB,否则您将收到该错误。您正在有效地执行批量插入,其中包含数组的单个文档作为插入发送,服务器将其解释为每个数组元素的插入,但总数不能大于largest permissible BSON document。
如果你将它分解成更小的数组并导入它们就可以了,或者你可以使用一些代码来解开数组,然后直接导入结果。