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

MongoDB - एक सेट में जोड़ना और बढ़ाना

यदि आप किसी सूची से हैश (ऑब्जेक्ट) में स्विच करने के इच्छुक हैं, तो आप परमाणु रूप से ऐसा कर सकते हैं।

दस्तावेज़ों से :"$inc ... यदि फ़ील्ड ऑब्जेक्ट में मौजूद है, तो संख्या मान से फ़ील्ड को बढ़ाता है, अन्यथा फ़ील्ड को संख्या मान पर सेट करता है।"

{ $inc : { field : value } }

इसलिए, यदि आप अपने कंटेनर और ऑब्जेक्ट को रिफलेक्टर कर सकते हैं:

words: [
  {
    'word': 'foo',
    'count': 1
  },
  ...
]

करने के लिए:

words: {
  'foo': 1,
  'other_word: 2,
  ...
}

आप ऑपरेशन का उपयोग कर सकते हैं update साथ:

{ $inc: { 'words.foo': 1 } }

जो { 'foo': 1 } . बनाएगा अगर 'फू' मौजूद नहीं है, तो फू को बढ़ा दें।

उदा.:

$ db.bar.insert({ id: 1, words: {} });
$ db.bar.find({ id: 1 })
[ 
  {   ...,   "words" : {     },   "id" : 1   }
]
$ db.bar.update({ id: 1 }, { $inc: { 'words.foo': 1 } });
$ db.bar.find({ id: 1 })
[ 
  {   ...,   "id" : 1,   "words" : {   "foo" : 1   }   }
]
$ db.bar.update({ id: 1 }, { $inc: { 'words.foo': 1 } });
$ db.bar.find({ id: 1 })
[ 
  {   ...,   "id" : 1,   "words" : {   "foo" : 2   }   }
]


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्या स्कैला में मोंगोडब के लिए कोई ओआरएम जैसी लाइब्रेरी है?

  2. मोंगो में प्रत्येक शार्ड के लिए शार्डिंग रेंज को कैसे परिभाषित करें?

  3. कैसे Laravel और MongoDB का उपयोग कर शामिल हुए संग्रह पर मिलान करने के लिए?

  4. नेवला और अद्वितीय क्षेत्र

  5. नेवला में आईडी से नाम कैसे प्राप्त करें?