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

चलो, अगर सरणी में एक ही आइटम है तो वृद्धि नहीं करना

मुझे पता है कि इसमें कुछ समय हो गया है, लेकिन यह अभी भी आपकी (या शायद किसी और की) मदद कर सकता है, इसलिए...

शायद आप इसे आजमा सकते हैं:

var newValue = 1;
var newSerialcode = req.body.serialCode; 
var newBloodgroup = req.body.blood_group; 
var newGetbloodcomponent = req.body.blood_component; 

Bloodinventory.find({ blood_component : { $in : newGetbloodcomponent} ,blood_group: { $in :newBloodgroup},chapter: { $in: [id] }}, function(err, bloodinventoryDocs) {

    for(let bloodinventory of bloodinventoryDocs) {
        // === change starts here === //
            // filter into a new array all the places where this particular blood component occurs
            let all_occurences = newGetbloodcomponent.filter(function(b){
                return b === bloodinventory.blood_component;
            });

            // to avoid incurring unnecessary processing and/or database costs, only continue if an occurence was actually found
            if(all_occurences.length > 0){
                // increment it by that amount (which will be the number of items filtered into the array)
                bloodinventory.num_stock = bloodinventory.num_stock + all_occurences.length;
                // ^^ you could also write this as 'bloodinventory.num_stock += all_occurences.length;'
            
                bloodinventory.save(function(err) {
                    if (err) {
                        console.log(err); 
                    } else {
                        console.log('success'); 
                    }
                });
            };
        // === change ends here === //
    }  
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PyMongo $inc में समस्याएं हैं

  2. एक सरणी में $addToSet लेकिन यह मुझे शून्य देता है

  3. NodeJS का उपयोग करते समय मोंगोडब सर्वर से कनेक्ट करने में असमर्थ

  4. MongoDB एक से कई संबंध

  5. दूसरी नेस्टेड सरणी के भीतर संपत्ति को फ़िल्टर करने की परियोजना