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

Как да слушате за промени в колекция MongoDB?

Това, за което мислите, звучи много като тригери. MongoDB няма никаква поддръжка за тригери, но някои хора са "развили своите", използвайки някои трикове. Ключът тук е oplog.

Когато стартирате MongoDB в набор от реплики, всички действия на MongoDB се записват в дневник на операциите (известен като oplog). Oplog по същество е просто текущ списък с модификациите, направени в данните. Функцията Replicas Sets, като слуша промените в този oplog и след това прилага промените локално.

Звучи ли ви познато?

Не мога да опиша подробно целия процес тук, това е няколко страници документация, но инструментите, от които се нуждаете, са налични.

Първо няколко надписи в oplog- Кратко описание- Оформление на local колекция (която съдържа oplog)

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoexport, използващ $gt и $lt ограничения за период от време

  2. db.collection не е функция, когато използвате MongoClient v3.0

  3. PHP не може да намери драйвер за MongoDB

  4. MongoDB:как да намерите 10 произволни документа в колекция от 100?

  5. MongoDB актуализиране Много()