sql >> Database >  >> NoSQL >> MongoDB

Is het mogelijk om de laatste x records uit een collectie te mongodumpen?

mongodump geeft de cursorinterfaces niet volledig bloot. Maar u kunt er omheen werken met de --query parameter.Verkrijg eerst het totale aantal documenten van de collectie

db.collection.count()

Laten we zeggen dat er 10000 documenten zijn en u wilt de laatste 1000. Om dit te doen, krijgt u de id van het eerste document dat u wilt dumpen.

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

In dit voorbeeld was de id "50ad7bce1a3e927d690385ec" .Nu kun je mongodump voeren met deze informatie, om alle documenten met een hoger of gelijk id te dumpen.

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

UPDATE De nieuwe parameters --limit en --skip zijn toegevoegd aan mongoexport zal waarschijnlijk beschikbaar zijn in de volgende versie van de tool:https://github.com/mongodb /mongo/pull/307



  1. Hoe krijg ik een verzameling documenten van de mongodb-cursor?

  2. Pymongo krijgt ingevoegde id's, zelfs met dubbele sleutelfout

  3. C# MongoDB - Hoe kan ik een item toevoegen aan en verwijderen uit meerdere geneste array-elementen?

  4. FOUT:Kan pid-bestand niet schrijven naar /var/run/mongodb/mongod.pid:Geen dergelijk bestand of directory-info fedora 20