MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Ist es möglich, die letzten x Datensätze einer Sammlung zu mongodumpen?

mongodump macht die Cursorschnittstellen nicht vollständig verfügbar. Sie können dies jedoch umgehen, indem Sie --query verwenden parameter.Zuerst die Gesamtzahl der Dokumente der Sammlung abrufen

db.collection.count()

Angenommen, es gibt 10000 Dokumente und Sie möchten die letzten 1000. Um dies zu tun, erhalten Sie die ID des ersten Dokuments, das Sie ausgeben möchten.

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

In diesem Beispiel war die ID "50ad7bce1a3e927d690385ec" .Jetzt kannst du mongodump füttern mit diesen Informationen alle Dokumente mit einer höheren oder gleichen ID ablegen.

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

AKTUALISIEREN Die neuen Parameter --limit und --skip wurden zu mongoexport hinzugefügt wird wahrscheinlich in der nächsten Version des Tools verfügbar sein:https://github.com/mongodb /mongo/pull/307