Operator Pembanding MongoDB

    

 Apa Itu Operator Pembanding MongoDB?

Operator pembanding adalah elemen-elemen dalam bahasa kueri atau bahasa pencarian yang digunakan untuk membandingkan nilai-nilai di dalam kueri MongoDB. digunakan untuk menetapkan kriteria pencarian yang lebih rinci dan spesifik daripada hanya mencari nilai yang sama. Operator pembanding umumnya digunakan dalam konteks query database, dalam menemukan dokumen atau data yang memenuhi syarat tertentu.

Berikut adalah beberapa operator pembanding yang umumj digunakan pada MongoDB:

Equals ($eq): Mencocokkan nilai yang sama.

  • { field: { $eq: value } }

Not Equals ($ne): Mencocokkan nilai yang tidak sama.

  • { field: { $ne: value } }

Greater Than ($gt): Mencocokkan nilai yang lebih besar dari nilai yang diberikan.

  • { field: { $gt: value } }

Less Than ($lt): Mencocokkan nilai yang lebih kecil dari nilai yang diberikan.

  • { field: { $lt: value } }

Greater Than or Equals ($gte): Mencocokkan nilai yang lebih besar dari atau sama dengan nilai yang diberikan.

  • { field: { $gte: value } }

Less Than or Equals ($lte): Mencocokkan nilai yang lebih kecil dari atau sama dengan nilai yang diberikan.

  • { field: { $lte: value } }

In ($in): Mencocokkan nilai terhadap sejumlah nilai yang mungkin.

  • { field: { $in: [value1, value2, ...] } }

Not In ($nin): Mencocokkan nilai yang tidak ada di antara sejumlah nilai yang diberikan.

  • { field: { $nin: [value1, value2, ...] } }

Operator pembanding ini memberikan fleksibilitas dalam menentukan kondisi pencarian dan membantu dalam menyusun query yang sesuai dengan kebutuhan spesifik.

Contoh Penggunaan Operator Pembanding :

  • Buat database ecommerce

  • Operator $eq (Specified Value)
            Mencari dokumen dengan nilai price yang sama dengan 899

       
  • Operator $eq (Embedded Document)
            Mencari dokumen dengan nilai spec.ram yang sama dengan 4

       

  • Operator $eq (Array Element)
            Mencari dokumen dengan nilai color yang sama dengan "black" 

           
                 

  • Operator $eq (Date)
            Mencari dokumen dengan nilai releaseDate yang sama dengan tanggal "2020-05-14"


  • Operator $gt
          Mencari dokumen dengan nilai price yang lebih besar dari 699

            

            Mencari dokumen dengan nilai spec.ram yang lebih besar dari 8

           

            Mencari dokumen dengan nilai storage yang lebih besar dari 128
            
            
            

            Mencari dokumen dengan nilai releaseDate yang lebih besar dari '2015-01-01'
            

KUIS :

1. Konvert 4 perintah $eq diatas ke query MySQL 

  • Mencari dokumen dengan nilai price yang sama dengan 899

           SELECT name, price FROM products WHERE price = 899;

  • Mencari dokumen dengan nilai spec.ram yang sama dengan 4

           SELECT name, spec.ram FROM products WHERE spec.ram = 4;

  • Mencari dokumen dengan nilai color yang sama dengan "black"

           SELECT name, color FROM products WHERE color = 'black';

  • Mencari dokumen dengan nilai releaseDate yang sama dengan tanggal "2020-05-14"

           SELECT name, releaseDate FROM products WHERE releaseDate = '2020-05-14';

2. Tampilkan products collection (name & price) yang price lebih besar sama dengan ($gte) 799 
            db.products.find({price: { $gte: 799 }}, {name: 1,price: 1})


3. Tampilkan products collection (name & storage) yang storage lebih besar sama dengan ($gte) 512 
            db.products.find({ storage: { $gte: 512 } },{ name: 1, storage: 1 })


4. Tampilkan products collection (name & spec.screen) yang screen (in spec) lebih kecil ($lt) dari 7
            db.products.find({ "spec.screen": { $lt: 7 } }, { name: 1, "spec.screen": 1 })


5. Tampilkan products collection (name & releaseDate) yang releaseDate sebelum ($le) 2015-01-01
            db.products.find( { "releaseDate": { $lt: new ISODate("2015-01-01") }}, { name: 1, releaseDate: 1 } )








Komentar