मुझे पता है कि इसमें कुछ समय हो गया है, लेकिन यह अभी भी आपकी (या शायद किसी और की) मदद कर सकता है, इसलिए...
शायद आप इसे आजमा सकते हैं:
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 === //
}
});