MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Czy można mongodumpować ostatnie x rekordów z kolekcji?

mongodump nie ujawnia w pełni interfejsów kursora. Możesz jednak obejść ten problem, używając --query parametr.Najpierw pobierz całkowitą liczbę dokumentów z kolekcji

db.collection.count()

Powiedzmy, że jest 10000 dokumentów, a chcesz ostatniego 1000. Aby to zrobić, zdobądź identyfikator pierwszego dokumentu, który chcesz zrzucić.

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

W tym przykładzie identyfikator to "50ad7bce1a3e927d690385ec" .Teraz możesz karmić mongodump z tymi informacjami, aby zrzucić wszystkie dokumenty o wyższym lub równym identyfikatorze.

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

AKTUALIZUJ Nowe parametry --limit i --skip zostały dodane do mongoexport będzie prawdopodobnie dostępny w następnej wersji narzędzia:https://github.com/mongodb /mongo/pull/307



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Aggregate Framework — grupowanie według roku

  2. Jak pobrać reguły walidatora kolekcji MongoDb?

  3. Pobierz wiele elementów z zapytaniami w tablicy obiektów w kolekcji MongoDB

  4. Warunki dopasowania i ostatnia data z tablicy

  5. Parametr projekcji MongoDB nie działa w findOne()