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

Node.js - Mongoose - req.body में सभी मानों के साथ नेस्टेड सरणी अपडेट करें

आपको $ . का उपयोग करना होगा आपके $set . में स्थितीय ऑपरेटर . आपके req.body . में क्या है, के आधार पर उन गुणों को गतिशील रूप से असाइन करने के लिए , आपको अपना $set . बनाना होगा प्रोग्रामेटिक रूप से।

यदि आप नाम को अपडेट करना चाहते हैं तो आप निम्न कार्य करेंगे:

Location.update(
  { 'competitors._id': req.params.competitorId },
  { $set:  { 'competitors.$.name': req.body.name }},
  (err, result) => {
    if (err) {
      res.status(500)
      .json({ error: 'Unable to update competitor.', });
    } else {
      res.status(200)
      .json(result);
    }
 }
);

एक तरह से आप प्रोग्रामेटिक रूप से $set . बना सकते हैं req.body . का उपयोग करना निम्न कार्य करके है:

let updateObj = {$set: {}};
for(var param in req.body) {
  updateObj.$set['competitors.$.'+param] = req.body[param];
 }

देखें यह अधिक जानकारी के लिए उत्तर दें।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose में Multer का उपयोग करके MongoDB में फ़ाइल संग्रहीत करना

  2. MongoDB में अल्फ़ान्यूमेरिक सॉर्ट कैसे करें?

  3. क्या मैं नेवले में कुल से पहले आबादी का उपयोग कर सकता हूँ?

  4. नेवला दस्तावेज़ अद्यतन त्रुटि

  5. मान के साथ गतिशील दिनांक कुंजी पर आधारित नेवला फ़िल्टर