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

MongoDB में एक स्ट्रिंग के सबसेट को कैसे अपडेट करें?

क्वेरी और अपडेट करने के लिए आप निम्न में से किसी एक एग्रीगेशन का उपयोग कर सकते हैं:

db.test.aggregate( [
  {
      $match: {
           url: { $regex: "300x300" }
      }
  },
  { 
      $addFields: { 
          url: { $split: [ "$url", "300" ] } 
      } 
  },
  { 
      $addFields: { 
          url: { 
              $concat: [ 
                        { $arrayElemAt: [ "$url", 0 ] }, 
                        "600", 
                        { $arrayElemAt: [ "$url", 1 ] }, 
                        "600", 
                        { $arrayElemAt: [ "$url", 2 ] }
              ] 
          }
      }
 }
] ).forEach( doc => db.test.updateOne( { _id: doc._id }, { $set: { url: doc.url } } ) )


MongoDB संस्करण 4.2+ के साथ आप अपडेट . के बजाय एकत्रीकरण निर्दिष्ट कर सकते हैं updateMany के साथ संचालन :

db.test.updateMany(
  { 
      url: { $regex: "300x300" }
  },
  [
    { 
      $addFields: { 
          url: { $split: [ "$url", "300" ] } 
      } 
    },
    { 
      $addFields: { 
          url: { 
              $concat: [ 
                        { $arrayElemAt: [ "$url", 0 ] }, 
                        "600", 
                        { $arrayElemAt: [ "$url", 1 ] }, 
                        "600", 
                        { $arrayElemAt: [ "$url", 2 ] }
              ] 
          }
      }
    }
  ] 
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. उत्पादन कोड में नेवला अनुक्रमण

  2. MongoDB तक कैसे पहुँचें

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

  4. मोंगोडब चलाने में विफल

  5. सेलेक्टिव मोंगो रिकवरी कैसे करें?