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

प्रत्येक दस्तावेज़ में अतिरिक्त फ़ील्ड के साथ एक प्रतिक्रियाशील प्रकाशन बनाएँ

फ़ील्ड को निजी रखना अपेक्षाकृत आसान है, भले ही वे डेटाबेस क्वेरी का हिस्सा हों। self.added . का अंतिम तर्क क्लाइंट को पास की जा रही वस्तु है, इसलिए आप क्लाइंट को भेजे जा रहे फ़ील्ड को स्ट्रिप/संशोधित/हटा सकते हैं।

यहाँ आपकी पहेली का एक संशोधित संस्करण है। यह वही करना चाहिए जो आप पूछ रहे हैं। (ईमानदारी से कहूं तो मुझे यकीन नहीं है कि observeChanges के बाद आपके पास कुछ भी जंजीर क्यों था? अपनी पहेली में कार्य करें, इसलिए हो सकता है कि मैं आपको गलत समझ रहा हूं, लेकिन आपके शेष प्रश्न को देखते हुए यह होना चाहिए। क्षमा करें अगर मुझे यह गलत लगा।)

var self = this;

// Modify the document we are sending to the client.
function filter(doc) {
  var length = doc.item.length;

  // White list the fields you want to publish.
  var docToPublish = _.pick(doc, [
      'someOtherField'
  ]);

  // Add your custom fields.
  docToPublish.itemLength = length;

  return docToPublish;                        
}

var handle = myCollection.find({}, {fields: {item:1, someOtherField:1}})
            // Use observe since it gives us the the old and new document when something is changing. 
            // If this becomes a performance issue then consider using observeChanges, 
            // but its usually a lot simpler to use observe in cases like this.
            .observe({
                added: function(doc) {
                    self.added("myCollection", doc._id, filter(doc));
                },
                changed: function(newDocument, oldDocument)
                    // When the item count is changing, send update to client.
                    if (newDocument.item.length !== oldDocument.item.length)
                        self.changed("myCollection", newDocument._id, filter(newDocument));
                },
                removed: function(doc) {
                    self.removed("myCollection", doc._id);                    
                });

self.ready();

self.onStop(function () {
  handle.stop();
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. php MongoCursor से JSON डेटा कैसे लौटाएं?

  2. अद्वितीय अनुक्रमणिका पर mongo 3 डुप्लीकेट - dropDups

  3. Mongoose और MongoDB Node.JS ड्राइवर के लिए लॉगिंग कैसे सक्षम करें

  4. मोंगो डीबी में सेव और इंसर्ट में क्या अंतर है?

  5. MongoDB के साथ JSON का उपयोग करना?