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

Er det muligt at mongodumpe de sidste x poster fra en samling?

mongodump eksponerer ikke markørens grænseflader fuldstændigt. Men du kan omgå det ved at bruge --query parameter. Få først det samlede antal dokumenter i samlingen

db.collection.count()

Lad os sige, at der er 10.000 dokumenter, og du vil have de sidste 1000. For at gøre det skal du få id'et for det første dokument, du vil dumpe.

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

I dette eksempel var id'et "50ad7bce1a3e927d690385ec" .Nu kan du fodre mongodump med disse oplysninger, for at dumpe alle dokumenter a med højere eller samme id.

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

OPDATERING De nye parametre --limit og --skip blev tilføjet til mongoexport vil sandsynligvis være tilgængelig i den næste version af værktøjet:https://github.com/mongodb /mongo/pull/307



  1. En udviklervejledning til MongoDB Sharding

  2. Pymongo:gentag over alle dokumenter i samlingen

  3. Sådan massesletter du hundredtusindvis af nøgler med specialtegn i Redis

  4. Golang GraphQL MongoDB Kæmper med at få dato og id ud af databasen