2013-06-04 5 views
0

У меня есть 40 000 строк, которые я хочу вставить в базу данных mongo, но я не уверен, что это лучший способ сделать это.Как вставить пакет в MongoDB?

ли я использовать командную строку «Монго» и вставьте его (я баловаться с этой идеей, и это не кажется, что он идеально подходит)

Существуют ли оптимальные или наилучшие практики здесь? Должен ли я просто делать это в мангоиде вместо манго?

+0

(Я бы сделал все, что было бы самым быстрым для вас, если это не то, что вам нужно делать часто: mongoimport, mongoid и т. Д.). – WiredPrairie

ответ

1

Ugh. Я отправил здесь ответ, а затем понял, что есть команда под названием mongoimport, которая может напрямую записывать файлы DB.

Давайте предположим, что у вас есть данные в формате JSON, один объект в каждой строке, например, так:

{"a":"a1"} 
{"a":"a2"} 
{"a":"a3"} 

Вы бы тогда сделать:

mongoimport --dbpath PATH_TO_YOUR_DB_DIR -d DB_NAME -c COLLECTION_NAME --file JSON_FILE_NAME 

Использование dbpath потребностей для блокировки данных , поэтому он не может быть использован, если mongod в настоящее время обращается к одному и тому же пути. mongoimport --help дает вам довольно полезную информацию.

+1

, если mongod запущен, тогда не используйте -dbpath и вместо него используйте опции -host -port. –