MongoDB插入失败“插入文件时出错:新文件分配失败”

时间:2017-01-04 15:55:39

标签: bash mongodb

我使用bash脚本进行插入:

for i in *.json
do 
    mongoimport --db testdb --collection test --type json --file $i --jsonArray
done

现在我的数据库testdb是5.951GB,终端一直给我错误

  

插入文档时出错:新文件分配失败

我可以在一个集合中保存多少数据?我最好的办法是什么?我目前有20GB的数据,但我还要添加40GB的数据。

-UPDATE -

这是我的ulimit状态:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 31681
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 4096
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 31681
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

1 个答案:

答案 0 :(得分:0)

Mongo可以在一个集合中处理数十亿个文档,但最大文档大小为16m。 创建集合时,您可以设置其大小:

db.createCollection( "collection-name", { capped: true, size: 100000 } )

如果您必须在集合中插入多个文档,Mongo会提供批量API:bulk-write-operations