MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Възможно ли е да се направи mongodump на последните x записа от колекция?

mongodump не излага напълно интерфейсите на курсора. Но можете да го заобиколите, като използвате --query параметър. Първо вземете общия брой документи на колекцията

db.collection.count()

Да кажем, че има 10 000 документа и искате последните 1000. За да направите това, вземете идентификатора на първия документ, който искате да изхвърлите.

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

В този пример идентификаторът беше "50ad7bce1a3e927d690385ec" .Сега можете да захранвате mongodump с тази информация, за да изхвърлите всички документи с по-висок или равен идентификатор.

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

АКТУАЛИЗАЦИЯ Новите параметри --limit и --skip бяха добавени към mongoexport вероятно ще бъде наличен в следващата версия на инструмента:https://github.com/mongodb /mongo/pull/307



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да актуализирате всяка стойност с една заявка в mongodb

  2. намерете документ в днешния диапазон от дати в mongodb

  3. Заявка за активен запис, където стойността е в полето за масив

  4. защо правя 2dsphere индекс, но когато правя заявка, той показва s2cursor?

  5. MongoDB:Сървърът има предупреждения за стартиране „Контролът на достъпа не е активиран за базата данни“