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

वस्तुओं की सरणी पर Mongoose / MongoDB $addToSet कार्यक्षमता का उपयोग करना

आपको $ne . का उपयोग करना होगा ऑपरेटर।

var data = { 'kind': 'tortoise', 'hashtag': 'foo' };
Model.update(
    { 'articles.hashtag': { '$ne': 'foo' } }, 
    { '$addToSet': { 'articles': data } }
)

यह दस्तावेज़ को तभी अपडेट करेगा जब "लेख" सरणी में "foo" के बराबर हैशटैग के मान वाला कोई उप दस्तावेज़ न हो।

जैसा कि @BlakesSeven ने टिप्पणी में उल्लेख किया है

<ब्लॉकक्वॉट>

$addToSet एक बार जब आप किसी एक मान की उपस्थिति का परीक्षण कर रहे होते हैं तो अप्रासंगिक हो जाता है, इसलिए यह एक $push भी हो सकता है कोड स्पष्टता के लिए। लेकिन सिद्धांत सही है क्योंकि $addToSet पूरी वस्तु पर काम करता है, न कि उसके केवल एक हिस्से पर।

Model.update({ 
    { 'articles.hashtag': { '$ne': 'foo' } }, 
    { '$push': {'articles':  data } }
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक क्षेत्र पर अनुक्रमण जो उप-दस्तावेजों की सरणी में है

  2. अपने खुले edX MongoDB डेटाबेस का बैकअप कैसे लें

  3. एकाधिक फ़ील्ड मोंगो डीबी पर छंटनी

  4. MongoDB के लिए स्प्रिंग डेटा MongoDB और हाइबरनेट OGM में क्या अंतर है?

  5. मोंगोडब एकत्रीकरण में सबस्ट्रिंग के साथ मिलान करें