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

MongoDB $cond

Di MongoDB, $cond operator pipa agregasi mengevaluasi ekspresi boolean, dan mengembalikan salah satu dari dua ekspresi pengembalian yang ditentukan, bergantung pada apakah ekspresi boolean true atau false .

$cond operator menerima dua sintaks:sintaks longhand dan sintaks shorthand. Contoh masing-masing ada di bawah.

Contoh

Misalkan kita memiliki koleksi yang disebut pets dengan dokumen berikut:

{
	"_id" : 1,
	"name" : "Fetch",
	"type" : "Dog",
	"weight" : 20,
	"height" : 30
}

Sintaks Tulisan Tangan

Berikut ini contoh penerapan $cond ke dokumen itu menggunakan sintaks tulisan tangan:

db.pets.aggregate(
  [
    { $project: { 
        _id: 0,
        isCanine: { 
          $cond: { if: { "$type": "Dog" }, then: "Yes", else: "No" }
          }
      }
    }
  ]
)

Hasil:

{ "isCanine" : "Yes" }

Dalam contoh ini, kami membandingkan type bidang ke nilai literal.

Dalam contoh berikut, kami membandingkan dua bidang dalam dokumen.

db.pets.aggregate(
  [
    { $project: { 
        _id: 0,
        bodyType: { 
          $cond: { 
            if: { 
              $gte: [ "$weight", "$height" ] }, 
              then: "Fat", 
              else: "Skinny" 
              }
          }
      }
    }
  ]
)

Hasil:

{ "bodyType" : "Skinny" }

Sintaks Singkat

$cond operator juga menerima sintaks singkatan yang membuat kode Anda lebih ringkas.

Singkatan pada dasarnya melibatkan penghapusan if , then , dan else kata kunci.

Saat Anda melakukan ini, Anda perlu menyertakan ekspresi dalam array.

Dalam contoh ini, kami menulis ulang contoh pertama menggunakan sintaks singkatan:

db.pets.aggregate(
  [
    { $project: { 
        _id: 0,
        isCanine: { 
          $cond: [ { "$type": "Dog" }, "Yes", "No" ]
          }
      }
    }
  ]
)

Hasil:

{ "isCanine" : "Yes" }

Dan inilah contoh kedua menggunakan steno:

db.pets.aggregate(
  [
    { $project: { 
        _id: 0,
        bodyType: { 
          $cond: [
              { $gte: [ "$weight", "$height" ] }, 
              "Fat", 
              "Skinny" 
              ]
          }
      }
    }
  ]
)

Hasil:

{ "bodyType" : "Skinny" }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara kerja penyortiran di ekstensi PECL mongodb baru?

  2. MongoDB - Permintaan pada elemen terakhir dari sebuah array?

  3. MongoDB - ukuran file sangat besar dan terus bertambah

  4. Buat Cluster Database di Cloud Dengan MongoDB Atlas

  5. MongoDB - Bagaimana dengan jenis nilai Desimal?