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

सरणी तत्वों की तुलना करें, सबसे कम स्कोर वाले को हटा दें

यह कुछ चरणों में किया जा सकता है। पहला कदम $match , $unwind और $group ऑपरेटर जो प्रत्येक दस्तावेज़ के लिए न्यूनतम स्कोर खोजने के लिए आपके दस्तावेज़ों को सुव्यवस्थित करते हैं:

lowest_scores_docs = db.school.aggregate([ 
    { "$match": {"scores.type": "homework"} },
    { "$unwind": "$scores" },  { "$match": {"scores.type": "homework"} },
    { "$group": { "_id":"$_id", "lowest_score": {"$min": "$scores.score" } } } ] )

दूसरा चरण है ऊपर दिए गए शब्दकोश के माध्यम से लूप करना और का उपयोग करना $pull इस प्रकार सरणी से तत्व को निकालने के लिए अद्यतन क्वेरी में ऑपरेटर:

for result in lowest_scores_docs["result"]:
    db.school.update({ "_id": result["_id"] }, 
        { "$pull": { "scores": { "score": result["lowest_score"] } } } )


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगो छवि चलाते समय त्रुटि - docker-entrypoint.sh:लाइन 381

  2. MongoDB और PostgreSQL विचार

  3. क्या मुझे ग्राफ़कल के साथ नेवले की ज़रूरत है?

  4. मोंगो क्वेरी के साथ आईडी द्वारा अद्यतन सरणी तत्व

  5. मोंगोडब में मूल कुंजी को जाने बिना विशिष्ट नेस्टेड ऑब्जेक्ट कैसे खोजें?