2013-06-08 3 views
1

Я не уверен, что я должен спросить об этом в ServerFault или здесь, но я пытаюсь написать PHP-скрипт, который проходит через папку и добавляет файлы csv в базу данных mongodb.Как импортировать некоторые столбцы из файла csv в mongodb?

Мне бы только хотелось импортировать определенные поля/столбцы. Возможно ли это, или мне нужно импортировать всю таблицу/коллекцию, а затем удалить поля? Google, похоже, не помогает ...

+1

Почему бы вам не попробовать вариант --fields mongoimport (http://docs.mongodb.org/manual/reference/program/mongoimport/) –

ответ

1

Возможно, вы найдете this question/answer. ОП пыталась сделать то же самое.

Команда mongoimport не дает вам возможность пропускать поля во время процесса импорта, так что для полного импорта потребуется $unset операции над полями, которые вы хотели пропустить. В конечном итоге это оставит вашу коллекцию фрагментацией.

Вам нужно было бы лучше использовать fgetcsv или str_getcsv в PHP для анализа файла. Это также позволит вам изменить правильность/дезинфекцию ввода при необходимости. Наконец, MongoCollection::batchInsert() будет эффективно вставлять сразу несколько документов в MongoDB.

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