2017-01-27 9 views
1

У меня есть гигантский файл BSON (100 ГБ) на сервере linux, который я хочу импортировать в MongoBD. Чтобы проверить импорт, я хотел бы создать файл с 1000 первых строк/кортежей файла BSON.Как выбрать первые строки файла BSON

Вы знаете, как извлечь 1000 первых строк в другой файл BSON?

Спасибо!

+0

В зависимости от того, что вы хотите проверить, просто сделать дд и копируем первые 20 мегабайта в другой файл и импорта, файл. Последний документ будет усечен и, в противном случае, не будет вставляться. –

+0

Хорошо! Это сработало ! Мы думали, что это приведет к сбою всего экспорта. Спасибо dnlbmn! –

+0

отправил ответ, отражающий именно тот вопрос, который вы задали, если есть что-то особенное в желании протестировать 1000 документов и доказать отсутствие ошибок, если вы находитесь в конвейере CI. –

ответ

0

Я понимаю, что вышеупомянутый комментарий не решает проблему, которую вы задали.

Если вы действительно хотите, чтобы вырезать «первые 1000», я бы, наверное, все-таки бросить его через Монго

dd if=/path/to/your/file.bson of=/path/to/your/small.bson bs=1M count=20 

импорт, что 20Meg файл, который мы надеемся, имеет более 1000 документов в нем (если не увеличить dd).

захватить однотысячным объект ID

db.col.find({},{_id:1}).sort({_id:-1}).skip(999).limit(1) 

, что даст вам идентификатор объекта для использования в дальнейшем.

Затем используйте mongodump команду для экспорта ровно 1000 документов

ссылка: https://docs.mongodb.com/manual/reference/program/mongodump/

mongodump --db YOUR_DB --collection YOUR_COL --query '{_id:{$lte:ObjectId("THE_ID_FROM_LAST_STEP")}}' 

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

  • Нет связанных вопросов^_^