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

Гледайте създаването на документ с MongoDB Streams

Ще трябва да:

  1. Посочете operationType: 'insert' . Тъй като не искате да наблюдавате актуализациите, нямате нужда от updateLookup .
  2. Създайте правилен тръбопровод за агрегиране за вашия филтър, който включва operationType .
  3. Тръбопроводът за агрегиране филтрира документи, които се връщат от watch() . Примерен изход е в страницата за промяна на събития .

watch() връща ChangeStream . Задейства close , change , end и error събития. Вижте ChangeStream за повече подробности.

Ето пълен пример за поток от промени, който слуша insert операция в базата данни test колекция test . Той ще изведе документи, които имат полето {a: 1} ('fullDocument.a': 1 ) и ще игнорира актуализации, вмъквания на други стойности на a , или нещо без полето a .

const MongoClient = require('mongodb').MongoClient
const uri = 'mongodb://localhost:27017/test?replicaSet=replset'

const insert_pipeline = [
  {$match: {operationType: 'insert', 'fullDocument.a': 1}}
]

function watch_insert(con, db, coll) {
  console.log(new Date() + ' watching: ' + coll)
  con.db(db).collection(coll).watch(insert_pipeline)
    .on('change', data => {
      console.log(data)
    })
}

async function run() {
  con = await MongoClient.connect(uri, {"useNewUrlParser": true})
  watch_insert(con, 'test', 'test')
}

run()



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Защо посоката на индекса има значение в MongoDB?

  2. шестнадесетичен вместо base64 в BinData() - MongoDB

  3. Връзката е отказана - свържете се(2) с rake db:seed на Mongodb

  4. Mongodb в линукс сървър

  5. Създаване на ограничена колекция от mongodb с помощта на c# api