MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

È possibile eseguire il mongodump degli ultimi x record da una raccolta?

mongodump non espone completamente le interfacce del cursore. Ma puoi aggirarlo usando il --query parametro.Prima ottieni il numero totale di documenti della collezione

db.collection.count()

Diciamo che ci sono 10000 documenti e tu vuoi gli ultimi 1000. Per fare ciò ottieni l'ID del primo documento che vuoi scaricare.

db.collection.find().sort({_id:1}).skip(10000 - 1000).limit(1)

In questo esempio l'ID era "50ad7bce1a3e927d690385ec" .Ora puoi alimentare mongodump con queste informazioni, per scaricare tutti i documenti a con ID maggiore o uguale.

$ mongodump -d 'your_database' -c 'your_collection' -q '{_id: {$gte: ObjectId("50ad7bce1a3e927d690385ec")}}'

AGGIORNAMENTO I nuovi parametri --limit e --skip sono stati aggiunti a mongoexport sarà probabilmente disponibile nella prossima versione dello strumento:https://github.com/mongodb /mongo/pull/307