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

MongoDB घड़ी () NodeJS और Mongoose के साथ डेटाबेस में परिवर्तन का निरीक्षण करने के लिए

MongoDB में स्ट्रीम बदलने के लिए काम करने के लिए एक प्रतिकृति सेट की आवश्यकता होती है।

नेवला डॉक्स के अनुसार:

mongoose.connect('mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]' [, options]);

पूरा उदाहरण

const { ReplSet } = require('mongodb-topology-manager');
const mongoose = require('mongoose');

run().catch(error => console.error(error));

async function run() {
  // Make sure you're using mongoose >= 5.0.0
  console.log(new Date(), `mongoose version: ${mongoose.version}`);

  await setupReplicaSet();

  // Connect to the replica set
  const uri = 'mongodb://localhost:31000,localhost:31001,localhost:31002/' +
    'test?replicaSet=rs0';
  await mongoose.connect(uri);
  // For this example, need to explicitly create a collection, otherwise
  // you get "MongoError: cannot open $changeStream for non-existent database: test"
  await mongoose.connection.createCollection('Person');

  // Create a new mongoose model
  const personSchema = new mongoose.Schema({
    name: String
  });
  const Person = mongoose.model('Person', personSchema, 'Person');

  // Create a change stream. The 'change' event gets emitted when there's a
  // change in the database
  Person.watch().
    on('change', data => console.log(new Date(), data));

  // Insert a doc, will trigger the change stream handler above
  console.log(new Date(), 'Inserting doc');
  await Person.create({ name: 'Axl Rose' });
  console.log(new Date(), 'Inserted doc');
}

// Boilerplate to start a new replica set. You can skip this if you already
// have a replica set running locally or in MongoDB Atlas.
async function setupReplicaSet() {
  const bind_ip = 'localhost';
  // Starts a 3-node replica set on ports 31000, 31001, 31002, replica set
  // name is "rs0".
  const replSet = new ReplSet('mongod', [
    { options: { port: 31000, dbpath: `${__dirname}/data/db/31000`, bind_ip } },
    { options: { port: 31001, dbpath: `${__dirname}/data/db/31001`, bind_ip } },
    { options: { port: 31002, dbpath: `${__dirname}/data/db/31002`, bind_ip } }
  ], { replSet: 'rs0' });

  // Initialize the replica set
  await replSet.purge();
  await replSet.start();
  console.log(new Date(), 'Replica set started...');
}

पूरा उदाहरण https://thecodebarbarian.com से लिया गया है। /स्टॉक-प्राइस-नोटिफिकेशन-साथ-नेवला-और-मोंगोडब-चेंज-स्ट्रीम



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब गणना क्वेरी--संचयी गुणन

  2. सी-ड्राइवर के साथ इंडेक्स द्वारा मोंगो सरणी तत्वों को अपडेट करें

  3. errmsg :इस नोड में प्रतिकृति सेट rs0 मानचित्रों के लिए नए कॉन्फ़िगरेशन 1 में वर्णित कोई होस्ट नहीं, मुझे यह संदेश क्यों मिल रहा है?

  4. MongoDB toArray प्रदर्शन

  5. मतदान थ्रॉटल और मतदान अंतराल का उपयोग कैसे करें?