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

डेटाबेस कमांड के साथ किसी सरणी के अंदर फ़ील्ड का नाम कैसे बदलें?

db.runCommand({
    update: 'apps',
    updates: [
        {
            q: { "versions.name": { $exists: true } },
            u: [{
                $set: {
                    versions: {
                        $map: {
                            input: "$versions",
                            in: {
                                "title": "$$this.name",
                                "version": "$$this.version"
                            }
                        }
                    }
                }
            }],
            multi: true
        }
    ]
})

खेल का मैदान

दूसरा तरीका, अधिक गतिशील दृष्टिकोण के लिए

  • $mergeObjects अंदर $map , की-वैल्यू पेयर की मैन्युअल सूची को रोकने के लिए
  • $unset name को हटाने का चरण version . से फ़ील्ड सरणी
db.runCommand({
    update: 'apps',
    updates: [
        {
            q: { "versions.name": { $exists: true } },
            u: [
              {
                $set: {
                    versions: {
                        $map: {
                            input: "$versions",
                            in: {
                                $mergeObjects: [
                                    "$$this",
                                    { "title": "$$this.name" }
                                ]
                            }
                        }
                    }
                }
              },
              { $unset: "versions.name" }
            ],
            multi: true
        }
    ]
})

खेल का मैदान




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में योजना और प्रबंधन योजनाएँ (भले ही यह बिना योजना के हो)

  2. गोलांग में मोंगो क्वेरी का बीएसओएन फॉर्म कैसे लिखें?

  3. संग्रह में बड़ी संख्या में रिकॉर्ड अपडेट करना

  4. MongoDB BasicDBObject (जावा) से मान निकाल रहा है

  5. ClusterControl द्वारा समर्थित सर्वाधिक लोकप्रिय NoSQL डेटाबेस