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

सरणी में तत्व अपडेट करें यदि मौजूद है तो MongoDb में उस सरणी में नया तत्व डालें

$addToSet . का उपयोग करें $push . के बजाय ।

db.push.update(
    { _id: 5 },
    { $addToSet: { "quizzes": {"wk": 6.0, "score": 8.0}, "play": {"wk": 6.0, "score": 8.0} } }
)

संपादित करें:

किसी सरणी फ़ील्ड में विशिष्ट संपत्ति द्वारा सशर्त उप-दस्तावेज़ अद्यतन के लिए कोई सरल अंतर्निहित दृष्टिकोण नहीं है। हालाँकि, एक छोटी सी तरकीब दो आदेशों को क्रम से निष्पादित करके काम कर सकती है।

उदाहरण के लिए:अगर हम quizzes को अपडेट करना चाहते हैं ऑब्जेक्ट के साथ फ़ील्ड { "wk": 7.0, "score": 8.0 } , हम इसे दो चरणों में कर सकते हैं:

चरण-1: $pull quizzes . से उप-दस्तावेजों को बाहर करें सरणी जहां "wk": 7.0 . (यदि मिलान उप-दस्तावेज़ नहीं मिला तो कुछ नहीं होगा )।

db.push.update(
    { _id: 5 },
    { $pull: { "quizzes": { "wk": 7.0 } } }
)

चरण -2: $addToSet उप-दस्तावेज़।

db.push.update(
    { _id: 5 },
    { $addToSet: { "quizzes": {"wk": 7.0, "score": 8.0} } }
)

आप उपरोक्त दो अपडेट कमांड को bulk.find().update() . का उपयोग करके जोड़ सकते हैं



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Php से mongoDB में किसी आईडी द्वारा संदर्भित दस्तावेज़ को कैसे निकालें?

  2. MongoDB $replaceAll

  3. Meteor.js . के साथ कई Mongodb डेटाबेस का उपयोग करना

  4. MongoDB के लिए डिफ़ॉल्ट डेटाबेस पथ क्या है?

  5. MongoDB - नेस्टेड ऐरे में किसी ऑब्जेक्ट को अपडेट करें