Contoh Kasus

Contoh kasus nya, ada pergantian aset gambar dari semula menggunakan AWS Cloudfront sekarang menggunakan CDN Spaces DigitalOcean

Ganti ke DO Biar Lebih Murah

Ganti ke DO Biar Lebih Murah


Beberapa Cara Mengganti Value yang Berisi URL

Cara pertama, dengan cara export lalu find & replace:

  1. Export/Dump collection

  2. Buka file dengan editor, lalu ganti URL dengan fitur find and replace

  3. Atau bisa menggunakan sed. Cara ini merupakan cara yang jauh lebih baik apabila size dump collection sangat besar

sed -i 's/aset-aku.cloudfront.com/aset-aku.sgp1.digitaloceanspaces.com/g' namacollection

Cara kedua dengan menggunakan command updateMany dari mongosh

  1. Login ke server mongo atau gunakan tools GUI seperti mongo compass

  2. Masuk ke database yang ingin value URL nya di ganti

use databasekamu

db.media.updateMany(
  { url:{$regex : "/aset-aku.cloudfront.com/"} },
  [{
    $set: { url: {
      $replaceOne: { input: "$url", find: "aset-aku.cloudfront.com", replacement: "aset-aku.sgp1.digitaloceanspaces.com" }
    }}
  }]
)

Command { url:{$regex : "/aset-aku.cloudfront.com/"} } digunakan untuk mencari field yang mengandung “aset-aku.cloudfront.com” di mana nama field nya adalah “url”

Apabila kamu ingin filter value dengan multiple condition

# search in media collection document with tipe_gambar: gambar_profile & url: aset-aku.cloudfront.com
db.media.updateMany(
  { tipe_gambar: "gambar_profil", url:{$regex : "/aset-aku.cloudfront.com/"} },
  [{
    $set: { url: {
      $replaceOne: { input: "$url", find: "aset-aku.cloudfront.com", replacement: "aset-aku.sgp1.digitaloceanspaces.com" }
    }}
  }]
)

Jika menambahkan path di URL. File di collection aset-aku.sgp1.digitaloceanspaces.com/2023randomnumberandtext

db.media.updateMany(
  {type: 'pdf',url: {$regex: '(/aset-aku.sgp1.digitaloceanspaces.com\/2)'} },
  [{
    $set: { url: {
      $replaceOne: { input: "$url", find: "aset-aku.sgp1.digitaloceanspaces.com", replacement: "asset.sgp1.cdn.digitaloceanspaces.com/new-image" }
    }}
  }]
  )
Pastikan Jumlahnya Sesuai dengan yang di Search

Pastikan Jumlahnya Sesuai dengan yang di Search

Referensi:

stackoverflow -How to replace substring in mongodb document


Jika kamu merasa tulisan ini bermanfaat & membantu kamu, kamu bisa berdonasi lewat saweria

If you feel this website help you, you can donate at saweria