MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB $unset Jika kondisi terpenuhi

Kueri

  • menggunakan variabel sistem $$REMOVE jika suatu bidang mendapatkan nilai ini, itu akan dihapus
  • jadi syaratnya user.code , pertahankan nilai lama jika tidak "BLOCKED" ,"CANCELLED" , else "$$REMOVE" lapangan

Uji kode di sini

db.collection.aggregate([
  {
    "$set": {
      "user.code": {
        "$cond": [
          {
            "$in": [
              "$user.status",
              [
                "BLOCKED",
                "CANCELLED"
              ]
            ]
          },
          "$$REMOVE",
          "$user.code"
        ]
      }
    }
  }
])

Sunting

Kode di atas memeriksa user.status tetapi Anda ingin menghapus kode atau tidak berdasarkan user.olderAdress.status (setelah melepasnya)(2 bidangnya dengan status nama yang sama)

Kueri (tambahkan ini setelah tahapan yang sudah Anda miliki)

Kode uji

{
    "$set": {
      "user.code": {
        "$cond": [
          {
            "$in": [
              "$user.status",
              [
                "BLOCKED",
                "CANCELLED"
              ]
            ]
          },
          "$$REMOVE",
          "$user.code"
        ]
      }
    }
  }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ubah jenis bidang di Mongoid tanpa kehilangan data

  2. R :Memperbarui entri di mongodb menggunakan mongolite

  3. Visualisasi statistik data Mongodb menggunakan matplotlib

  4. Perbarui dokumen menggunakan hasil bidang gabungan

  5. Pemisahan Data Sensitif dalam MongoDB dan NodeJS - referensi melalui kunci terenkripsi