MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB स्ट्रीम के साथ दस्तावेज़ निर्माण देखें

आपको यह करना होगा:

  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. MongoDB क्वेरी ऑप्टिमाइज़ेशन

  3. PHP कोड का उपयोग करके csv को mongodb में आयात करना

  4. वर्तमान डेटाबेस को प्रोग्रामेटिक रूप से कैसे प्राप्त करें Mongoid लिख रहा है?

  5. Mongo एकत्रीकरण और MongoError:अपवाद:BufBuilder ने 64MB की सीमा से पहले () से 134217728 बाइट्स तक बढ़ने का प्रयास किया