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

mongodb/node.js में मौजूदा संग्रह में ऑटो वृद्धि कैसे जोड़ें?

MongoDB में इनबिल्ट ऑटो-इन्क्रीमेंट कार्यक्षमता नहीं है।

सम्मिलन के लिए उपयोग किए गए अंतिम अनुक्रम मान का ट्रैक रखने के लिए एक नया संग्रह बनाएं:

db.createCollection("counter")

यह केवल एक ही रिकॉर्ड रखेगा:

db.counter.insert({_id:"mySequence",seq_val:0})

एक जावास्क्रिप्ट फ़ंक्शन बनाएं:

function getNextSequenceVal(seq_id){
   // find record with id seq_id and update the seq_val by +1
   var sequenceDoc = db.counter.findAndModify({
      query:{_id: seq_id},
      update: {$inc:{seq_val:1}},
      new:true
   });

   return sequenceDoc.seq_val;
}

आपके मौजूदा संग्रह में पहले से मौजूद सभी मानों को अपडेट करने के लिए, यह काम करना चाहिए (खाली {} के लिए, आप अपनी शर्तें रख सकते हैं यदि आप केवल कुछ दस्तावेज़ अपडेट करना चाहते हैं):

db.myCollection.update({},
   {$set:{'_id':getNextSequenceVal("mySequence")}},{multi:true})

अब आप अपने मौजूदा संग्रह में नए रिकॉर्ड इस प्रकार सम्मिलित कर सकते हैं:

db.myCollection.insert({
   "_id":getNextSequenceVal("mySequence"),
   "name":"ABC"
})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. दस्तावेज़ का विशिष्ट भाग प्राप्त करें

  2. mongoexport का उपयोग करके सॉर्ट किए गए डेटा को कैसे निर्यात करें?

  3. उसी मशीन में सेकेंडरी रेप्लिका सेट जोड़ें?

  4. नेवला के साथ खोजने के बाद उप दस्तावेज़ कैसे बदलें

  5. MongoDB चेन प्रतिकृति मूल बातें