2017-01-04 3 views
0

Я использовал Баш скрипт, чтобы сделать вставку:MongoDB сбой вставки «ошибка вставки документов: новый провал размещения файлов»

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

Теперь моя база данных testdb является 5.951GB и терминал продолжает давать мне ошибку

ошибка вставки документов: новый провал размещения файлов

Сколько данных можно держать в одной коллекции? Каков наилучший способ справиться с этим? В настоящее время у меня есть данные на 20 ГБ, но я буду добавлять еще 40 ГБ данных.

-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 

ответ

0

Монго может обрабатывать миллиарды документов в одной коллекции, но максимальный размер документа 16m. При создании коллекции вы можете установить его размер:

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

Монго обеспечивают объемную апи, если вы должны вставить кратные документ в коллекции: bulk-write-operations

+0

Я проверил, все мои файлы менее 16м. После ввода данных 23G он начинает отклоняться и дает мне эту ошибку – user3669481

+0

Используете ли вы операционные системы UNIX или OSX? Если это так, возможно, у вас есть ограничение [ulimit] (https://docs.mongodb.com/manual/reference/ulimit/#recommended-settings) – NotBad4U

+0

Только что обновил мое сообщение, чтобы показать статус ulimit. Будет ли проблема с открытыми файлами или максимальными пользовательскими процессами? – user3669481

Смежные вопросы