Operator Logika MongoDB (Jenis Operator Logika, Contoh dan Perbandingan dengan perintah SQL)

MongoDB menggunakan operator logika dalam kueri untuk mencocokkan dokumen dalam koleksi. 

Jenis Operator Logika

Berikut beberapa jenis operator logika dalam MongoDB, contohnya, dan perbandingan dengan perintah SQL:

1. $and

Operator ini digunakan untuk mencocokkan dokumen yang memenuhi semua kondisi yang diberikan. Contoh:




2. $or

Operator ini digunakan untuk mencocokkan dokumen yang memenuhi salah satu dari beberapa kondisi yang diberikan. Contoh:






3. $not

Operator ini digunakan untuk mencocokkan dokumen yang tidak memenuhi kondisi yang diberikan. Contoh:






4. $nor

Operator ini digunakan untuk mencocokkan dokumen yang tidak memenuhi semua kondisi yang diberikan. Contoh:




5. $exists

Operator ini digunakan untuk mencocokkan dokumen berdasarkan keberadaan atau ketiadaan suatu bidang. Contoh:








Kuis

-Buat tabel di MySQL dengan field dan data yang sama dengan contoh diatas 

1. Buat databasae baru di MySql  :  

 


2. Buat tabel produk dan warna produk dengan mengetik perintah dibawah ini  : 

CREATE TABLE products (

    id INT NOT NULL,

    name VARCHAR(255) NOT NULL,

    price DECIMAL(10, 2),

    releaseDate DATE,

    ram INT,

    screen DECIMAL(4, 2),

    cpu DECIMAL(4, 2),

    storage INT

);

 

Setelah itu beri akses key pada struktur "id"

CREATE TABLE product_colors (

    product_id INT,

    color VARCHAR(255),

    FOREIGN KEY (product_id) REFERENCES products(id)

);

 


 


3. Setelah tabel selesai dibuat, isi datanya sesuai perintah dibawah : 

INSERT INTO products (id, name, price, releaseDate, ram, screen, cpu, storage)

VALUES

    (1, 'xPhone', 799.00, '2011-05-14', 4, 6.5, 2.66, 64),

    (2, 'xTablet', 899.00, '2011-09-01', 16, 9.5, 3.66, 128),

    (3, 'SmartTablet', 899.00, '2015-01-14', 12, 9.7, 3.66, 16),

    (4, 'SmartPad', 699.00, '2020-05-14', 8, 9.7, 1.66, 128),

    (5, 'SmartPhone', 599.00, '2022-09-14', 4, 9.7, 1.66, 128),

    (6, 'xWidget', NULL, NULL, 64, 9.7, 3.66, 1024),

    (7, 'xReader', NULL, NULL, 64, 6.7, 3.66, 128);

 


INSERT INTO product_colors (product_id, color)

VALUES

    (1, 'white'),

    (1, 'black'),

    (2, 'white'),

    (2, 'black'),

    (2, 'purple'),

    (3, 'blue'),

    (4, 'white'),

    (4, 'orange'),

    (4, 'gold'),

    (4, 'gray'),

    (5, 'white'),

    (5, 'orange'),

    (5, 'gold'),

    (5, 'gray'),

    (6, 'black'),

    (7, 'black'),

    (7, 'white');



 

-Buat query SQL untuk dapat menampilkan data yang sama dengan contoh diatas

1. Menggunakan $and (SQL):

SELECT name, price, color

FROM products

JOIN product_colors ON products.id = product_colors.product_id

WHERE price = 899

  AND color IN ('white', 'black');

 


 

2. Menggunakan $or (SQL):

SELECT name, price

FROM products

WHERE price = 799 OR price = 899;

 


 

SELECT name, price

FROM products

WHERE price < 699 OR price > 799;

 


 

3. Menggunakan $not (SQL):

SELECT id AS _id, name, price

FROM products

WHERE price IS NULL OR NOT (price > 699);

 


 

SELECT name

FROM products

WHERE name NOT REGEXP '^Smart+';

 


 

4. Menggunakan $nor (SQL):

SELECT name, price, color

FROM products

LEFT JOIN product_colors ON products.id = product_colors.product_id

WHERE (price IS NULL OR price != 899) AND (color IS NULL OR color != 'gold');

 


 

5. Menggunakan $exists (SQL):

SELECT name, price

FROM products

WHERE price IS NOT NULL OR price IS NULL;

 


 

SELECT name, price

FROM products

WHERE price IS NOT NULL AND price > 699;

 


 

SELECT name, price

FROM products

WHERE price IS NULL;

 


 

 

 


Komentar

Postingan Populer