mongodump
não expõe totalmente as interfaces do cursor. Mas você pode contornar isso, usando o --query
parâmetro.Primeiro obtenha o número total de documentos da coleção db.collection.count()
Digamos que haja 10.000 documentos e você queira os últimos 1.000. Para isso, obtenha o id do primeiro documento que deseja despejar.
db.collection.find().sort({_id:1}).skip(10000 - 1000).limit(1)
Neste exemplo, o id era
"50ad7bce1a3e927d690385ec"
.Agora você pode alimentar mongodump
com esta informação, para despejar todos os documentos a com id maior ou igual. $ mongodump -d 'your_database' -c 'your_collection' -q '{_id: {$gte: ObjectId("50ad7bce1a3e927d690385ec")}}'
ATUALIZAÇÃO Os novos parâmetros
--limit
e --skip
foram adicionados ao mongoexport
provavelmente estará disponível na próxima versão da ferramenta:https://github.com/mongodb /mongo/pull/307