mongodump
не излага напълно интерфейсите на курсора. Но можете да го заобиколите, като използвате --query
параметър. Първо вземете общия брой документи на колекцията
db.collection.count()
Да кажем, че има 10 000 документа и искате последните 1000. За да направите това, вземете идентификатора на първия документ, който искате да изхвърлите.
db.collection.find().sort({_id:1}).skip(10000 - 1000).limit(1)
В този пример идентификаторът беше "50ad7bce1a3e927d690385ec"
.Сега можете да захранвате mongodump
с тази информация, за да изхвърлите всички документи с по-висок или равен идентификатор.
$ mongodump -d 'your_database' -c 'your_collection' -q '{_id: {$gte: ObjectId("50ad7bce1a3e927d690385ec")}}'
АКТУАЛИЗАЦИЯ Новите параметри --limit
и --skip
бяха добавени към mongoexport
вероятно ще бъде наличен в следващата версия на инструмента:https://github.com/mongodb /mongo/pull/307