MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Tonton pembuatan dokumen dengan MongoDB Streams

Anda perlu:

  1. Tentukan operationType: 'insert' . Karena Anda tidak ingin memantau pembaruan, Anda tidak perlu updateLookup .
  2. Buat pipa agregasi yang tepat untuk filter Anda yang menyertakan operationType .
  3. Pipa agregasi memfilter dokumen yang dikembalikan oleh watch() . Contoh keluaran ada di halaman Ubah Acara .

watch() mengembalikan ChangeStream . Ini menembakkan close , change , end , dan error acara. Lihat ChangeStream untuk lebih jelasnya.

Berikut adalah contoh lengkap dari changestream yang mendengarkan di insert operasi pada database test koleksi test . Ini akan menampilkan dokumen yang memiliki bidang {a: 1} ('fullDocument.a': 1 ) dan akan mengabaikan pembaruan, sisipan nilai lain dari a , atau apa pun tanpa bidang 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. Kerangka Agregasi Mongodb untuk grails 1.3.7

  2. lookup dengan kondisi di luwak

  3. Di mana saya harus meletakkan timeline aktivitas di mongodb, disematkan di pengguna atau secara terpisah?

  4. Ekstensi php Mongo setelah pembaruan Heroku (komposer)

  5. MongoDB:memperbarui array dalam array