Tuesday, January 25, 2011

mongodb, dump, restore

Иногда из бинарных дампов mongodb (сделанных с помощью mongodump) надо восстановить только чуть-чуть данных. Поднимать для всего этого отдельный инстанс mongodb бывает слишком жирно.
Но, на помощь нам придет mongorestore. У mongorestore есть параметр --filter

--filter arg filter to apply before inserting

Т.е. что бы восстановить запись с конкретным _idшником надо сделать следующее

mongorestore -h host -d db -c collection --filter "{_id:123}" ./collection.bson

где host, db, collection это хост, название бд и коллекция куда мы будем восстанавливать. важно, что бы в этом "куда" не было записи с таким _id (в данном случае).

Да, _id цифровые у меня, обычно _id это ObjectId, т.е. фильтр будет {_id: ObjectId("47cc67093475061e3d95369d")}, например.

Минус такого восстановления в том, что mongorestore будет читать весь файл с коллекцией.

No comments:

Post a Comment

Labels