mongodump
n'expose pas entièrement les interfaces du curseur. Mais vous pouvez contourner ce problème en utilisant le --query
paramètre.D'abord obtenir le nombre total de documents de la collection
db.collection.count()
Disons qu'il y a 10000 documents et que vous voulez les 1000 derniers. Pour ce faire, obtenez l'identifiant du premier document que vous voulez vider.
db.collection.find().sort({_id:1}).skip(10000 - 1000).limit(1)
Dans cet exemple, l'identifiant était "50ad7bce1a3e927d690385ec"
.Maintenant, vous pouvez alimenter mongodump
avec ces informations, pour vider tous les documents avec un identifiant supérieur ou égal.
$ mongodump -d 'your_database' -c 'your_collection' -q '{_id: {$gte: ObjectId("50ad7bce1a3e927d690385ec")}}'
MISE À JOUR Les nouveaux paramètres --limit
et --skip
ont été ajoutés à mongoexport
sera probablement disponible dans la prochaine version de l'outil :https://github.com/mongodb /mongo/pull/307