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

mongodb . में परिवर्तित दस्तावेज़ों के लिए सूचना प्राप्त करें

मोंगोडब 3.6 के रूप में, अब आप परिवर्तन स्ट्रीम में क्रियाओं को हुक कर सकते हैं। यह आपको एक टेलेबल कर्सर देता है जिसका उपयोग आप किसी विशेष संग्रह पर परिवर्तन (जैसे क्रूड ऑपरेशंस) को सुनने के लिए कर सकते हैं।

परिवर्तन स्ट्रीम oplog के शीर्ष पर बनाया गया है और यह किसी भी चीज़ के लिए सुलभ है जो oplog का उपयोग कर रहा है। परिवर्तन धाराएँ फिर से शुरू हो सकती हैं और $match, $project जैसे एकत्रीकरण ऑपरेटरों के साथ भी उपयोग की जा सकती हैं...

अधिक जानकारी यहाँ (जावा उदाहरण):http://mongodb.github.io/mongo-java-driver/3.6/driver/tutorials/change-streams/

और यहाँ https://www.mongodb.com/mongodb-3.6 (जावा) से स्निपेट है:

// 1. The database for reactive, real-time applications
 MongoClient mongoClient;

// Create a new MongoClient with a MongoDB URI string.
if (args.length == 0) {
// Defaults to a localhost replicaset on ports: 27017, 27018, 27019
  mongoClient = new MongoClient(new
  MongoClientURI("mongodb://localhost:27017,localhost:27018,localhost:27019"));
} else {
  mongoClient = new MongoClient(new MongoClientURI(args[0]));
}

// Select the MongoDB database.
MongoDatabase database = mongoClient.getDatabase("testChangeStreams");
database.drop();
sleep();

// Select the collection to query.
MongoCollection<Document> collection = database.getCollection("documents");

// Create the change stream cursor.
MongoCursor<Document> cursor = collection.watch().iterator();

यदि आप C# में काम कर रहे हैं, तो उदाहरण यहां देखे जा सकते हैं:

    var inventory = database.GetCollection<BsonDocument>("inventory");

    var document = new BsonDocument("x", 1);
    inventory.InsertOne(document);
    new Thread(() =>
    {
        Thread.Sleep(TimeSpan.FromMilliseconds(100));
        var filter = new BsonDocument("_id", document["_id"]);
        var update = "{ $set : { x : 2 } }";
        inventory.UpdateOne(filter, update);
    })
    .Start();

    // Start Changestream Example 2
    var options = new ChangeStreamOptions { FullDocument = ChangeStreamFullDocumentOption.UpdateLookup };
    var enumerator = inventory.Watch(options).ToEnumerable().GetEnumerator();
    enumerator.MoveNext();
    var next = enumerator.Current;
    enumerator.Dispose();
    // End Changestream Example 2

    var expectedFullDocument = document.Set("x", 2);
    next.FullDocument.Should().Be(expectedFullDocument);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एसएएसएल प्रमाणीकरण चरण पर सर्वर ने त्रुटि लौटा दी:प्रमाणीकरण विफल रहा

  2. MongoDB को लाइक के साथ कैसे क्वेरी करें

  3. काम पूरा करने के बाद नेवला का कनेक्शन ठीक से बंद कर दें

  4. SQL में अधिकतम मान वाली पंक्ति का चयन करने के 3 तरीके

  5. MongoDB के लिए क्वेरी आईडीई?