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

नेस्टेड दस्तावेज़ सरणी मोंगोडब से विशिष्ट तत्व अपडेट करें जहां दो मैच हैं

डेमो - https://mongoplayground.net/p/VaE28ujeOPx

$ (अपडेट) का इस्तेमाल करें

db.collection.update({
  "notes": {
    "$elemMatch": { "block": 2, "curse": 5 }
  }
},
{
  $set: { "notes.$.score.b4": 40 }
})

पढ़ें upert :सच

अपडेट करें

डेमो - https://mongoplayground.net/p/iQQDyjG2a_B

$function का उपयोग करें

db.collection.update(
    { "_id": "sad445" },
    [
      {
        $set: {
          notes: {
            $function: {
              body: function(notes) {
                        var record = { curse:5, block:2, score:{ b4:40 } };
                        if(!notes || !notes.length) { return [record]; } // create new record and return in case of no notes
                        var updated = false;
                        for (var i=0; i < notes.length; i++) {
                            if (notes[i].block == 2 && notes[i].curse == 5) { // check condition for update
                                updated = true;
                                notes[i].score.b4=40; break; // update here
                            }
                        }
                        if (!updated) notes.push(record); // if no update push the record in notes array
                        return notes;
                    },
              args: [
                "$notes"
              ],
              lang: "js"
            }
          }
        }
      }
    ]
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - स्थापना त्रुटि - mongodb सेटअप विज़ार्ड समय से पहले समाप्त हो गया

  2. SQL में किसी दिनांक से माह का नाम प्राप्त करें

  3. त्रुटि:बाल प्रक्रिया विफल, त्रुटि संख्या 1, mongodb . के साथ बाहर निकली

  4. MongoClient क्लास बनाम MongoDB\Driver\Manager Class

  5. Mongodb $lookup _id . के साथ काम नहीं कर रहा है