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

проследяване на изтрити документи в ограничената колекция на Mongo DB

Ограничени колекции са колекции с фиксиран размер, които автоматично премахват най-старите документи (въз основа на реда за вмъкване), като ги презаписват, след като колекцията е пълна.

Концептуално ограничените колекции са кръгов буфер, а не опашка.

Това не звучи като подходящо за случай на използване на постоянна информация за поръчка - няма "кука" за повторно вмъкване на документи в ограничена колекция, когато бъдат изтрити, и ако вашата ограничена колекция е твърде малка, можете да презапишете документи, преди да бъдат обработени.

Мисля, че наистина искате да използвате нормална (неограничена) колекция.

Изтриване на стари поръчки въз основа на статус

Ако искате да изтриете поръчки въз основа на някаква стойност на състояние, трябва да направите това в кода на приложението си (например, когато дадена поръчка премине от състояние „Чакащо“ в състояние „Обработено“, направете каквото е необходимо почистване).

Изтриване на стари/изтекли поръчки въз основа на време

Ако искате старите/изтеклите поръчки да се изтриват автоматично в определен момент, добър подход би бил използването на нормална колекция с изтичане на времето за живот (TTL) на ниво документ , напр.:

db.orders.ensureIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )

След това можете да зададете (или удължите) срока на валидност за всеки документ за поръчка въз основа на expireAt дата. Имайте предвид, че това може да не е подходяща опция, ако трябва да проверите и expireAt стойност и поле за състояние (изтичането на TTL се основава единствено на предоставения индекс на датата).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB count команда

  2. MongoDB Aggregate $unwind $match using date - какво пропуснах?

  3. Mongoose upsert не създава свойство на схемата по подразбиране

  4. Нуждаете се от насоки за търсене на агрегати на mongo за преброяване на подвъзли във всички дъщерни възли за всеки възел

  5. C# mongodb - как да актуализирате вложени елементи на масив