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

mongodb में स्ट्रिंग को संख्यात्मक मानों में कैसे परिवर्तित करें?

MongoDB एकत्रीकरण को दिए गए फ़ील्ड के मौजूदा डेटा प्रकार को बदलने की अनुमति नहीं है। इस मामले में आपको string . कन्वर्ट करने के लिए कुछ प्रोग्रामिंग कोड बनाना चाहिए करने के लिए int . नीचे दिए गए कोड की जाँच करें

db.collectionName.find().forEach(function(data) {
    db.collectionName.update({
        "_id": data._id,
        "moop": data.moop
    }, {
        "$set": {
            "PartnerID": parseInt(data.PartnerID)
        }
    });
})

यदि आपके संग्रह का आकार अधिक है तो उपरोक्त स्क्रिप्ट प्रदर्शन को धीमा कर देगी, परफॉमेस मोंगो के लिए मोंगो बल्क ऑपरेशंस प्रदान करते हैं, मोंगो बल्क ऑपरेशंस का उपयोग करके डेटा प्रकार भी अपडेट किया जाता है

var bulk = db.collectionName.initializeOrderedBulkOp();
var counter = 0;
db.collectionName.find().forEach(function(data) {
    var updoc = {
        "$set": {}
    };
    var myKey = "PartnerID";
    updoc["$set"][myKey] = parseInt(data.PartnerID);
    // queue the update
    bulk.find({
        "_id": data._id
    }).update(updoc);
    counter++;
    // Drain and re-initialize every 1000 update statements
    if (counter % 1000 == 0) {
        bulk.execute();
        bulk = db.collectionName.initializeOrderedBulkOp();
    }
    })
    // Add the rest in the queue
if (counter % 1000 != 0) bulk.execute();

यह मूल रूप से सेवर को भेजे गए ऑपरेशन स्टेटमेंट की मात्रा को कम कर देता है, केवल प्रत्येक 1000 कतारबद्ध संचालन में एक बार भेजने के लिए।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग बूट के साथ MongoDB क्वेरी लॉग करना

  2. स्प्रिंग डेटा मोंगोडब आईएसओ तिथि के लिए खोज करता है

  3. बीएसओएन टाइप ऑब्जेक्ट आईडी को जेएसओएन में कनवर्ट करना (मोंगोडब में भंडारण) -जावा

  4. PostgreSQL और MongoDB का मिश्रण (Django बैकएंड के रूप में)

  5. MongoDB रूबी ड्राइवर 2.5.x प्रतिकृति सेट पर होस्टनाम के साथ केस-संवेदनशीलता मुद्दे