Mongoimport JSON 文件错误:"BSON representation of supplied JSON array is too large: code FailedToParse:



我正试图使用以下命令将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

使用jsonArray时,总阵列大小必须小于16MiB,否则会出现错误。您实际上是在进行大容量插入,其中包含数组的单个文档作为插入发送,服务器将其解释为每个数组元素的插入,但总数不能大于允许的最大BSON文档。

如果你把它分解成更小的数组并导入这些数组,你就可以了,或者你可以使用一些代码来展开数组,然后直接导入结果。

最新更新