MongoDB ATAU Operator

Mongodb Atau Operator



Kami memiliki operator kueri logika berbeda yang tersedia di MongoDB, dan salah satunya adalah operator $or. MongoDB $or operator digunakan untuk mengimplementasikan operasi OR logis pada array yang berisi dua atau lebih ekspresi dan hanya mengambil dokumen yang cocok dengan salah satu ekspresi yang ditentukan dalam array. Operator $or digunakan untuk menemukan banyak pernyataan dalam satu kueri dengan hanya satu kriteria dokumen yang cocok. Operator $or memfasilitasi kombinasi beberapa kunci dan nilai.

Cara Menggunakan OR Operator di MongoDB

Operator ATAU di MongoDB direpresentasikan dalam format “$or”. '$or' digunakan untuk mengapit beberapa ekspresi dalam tanda kurung siku tempat operasi OR logis dilakukan. Kami menggunakan operator $or pada koleksi MongoDB. Kami membuat koleksi MongoDB yang berjudul 'Pasien'. Koleksi 'Pasien' disisipkan dengan beberapa dokumen tempat kami menjalankan operator $or. Dokumen-dokumen berikut dimasukkan ke dalam MongoDB dengan memanggil metode insertMany() :

db.Patients.insertMany ( [
{
'Nama depan' : 'Jennifer' ,
'Nama keluarga' : 'Yosua' ,
'Usia' : 44 ,
'Nomor telepon' : 43400517 ,
'Janji temu' : 'Dokter gigi' ,
'Tagihan' : 2000 ,
'Tes' : [ 'sinar-X' , 'Darah' , 'Bubur' ]
} ,
{
'Nama depan' : 'Thomas' ,
'Nama keluarga' : 'Steven' ,
'Usia' : 74 ,
'Nomor telepon' : 39034694 ,
'Tanggal Janji' : 'Ahli bedah' ,
'Tagihan' : 6000 ,
'Tes' : [ 'Pilihan' , 'PPT' ]
} ,
{
'Nama depan' : 'Charles' ,
'Nama keluarga' : 'Daniel' ,
'Usia' : 35 ,
'Nomor telepon' : 65712165 ,
'Janji temu' : 'dokter jantung' ,
'Tagihan' : 2000 ,
'Tes' : [ 'CT' , 'MRI' ]
} ,
{
'Nama depan' : 'Michelle' ,
'Nama keluarga' : 'Paul' ,
'Usia' : 51 ,
'Nomor telepon' : 54399288 ,
'Janji temu' : 'Dermatolog' ,
'Tagihan' : 8000 ,
'Tes' : [ 'Biopsi Kulit' , 'Cahaya Kayu' , 'Pengikisan Kulit' ]
} ,

{
'Nama depan' : 'Andrew' ,
'Nama keluarga' : 'Jerry' ,
'Usia' : 69 ,
'Nomor telepon' : 6108100 ,
'Janji temu' : 'dokter jantung' ,
'Tagihan' : 7000 ,
'Tes' : [ 'EKG' , 'Gula darah' , 'USG' ]
}
] )

Output dari dokumen yang dimasukkan sebelumnya mengakui 'benar' dan memberikan nilai 'insertedIds' untuk setiap dokumen.









Contoh 1: MongoDB $OR Operator untuk Mencocokkan Dokumen

Permintaan dasar dari operator $or MongoDB diimplementasikan di sini yang menunjukkan cara kerja operator ini di MongoDB. Di sini, kami mendefinisikan kueri dengan metode find(). Metode find() ditentukan lebih lanjut dengan operator $or. Operator $or mengambil dua bidang, 'Janji Temu' dan 'Tagihan', yang ditetapkan dengan nilai. Operator $or mencocokkan nilai bidang dan hanya mengambil dokumen yang nilainya cocok dengan nilai bidang. Struktur kueri dari operator $or disediakan sebagai berikut:



db.Pasien.temukan ( { $atau : [ { Janji temu: 'Dermatolog' } ,
{ Biaya: 7000 } ] } ) .cukup ( )

Kami mengambil dokumen yang 'Janji Temu' dengan 'Dokter Kulit' dan yang 'Tagihannya' adalah '7000'. Operator $or menemukan hasil sebenarnya dari kedua nilai bidang dan mengembalikan dokumen yang cocok dalam keluaran.





Contoh 2: MongoDB $OR Operator untuk Mencocokkan Dokumen yang Tidak Ada

Dalam kueri operator $or sebelumnya, kami mengambil dokumen yang cocok. Sekarang, kami mengambil dokumen yang tidak ada dari koleksi 'Pasien'. Permintaan $or operator berikut mengambil dokumen yang 'FirstName' adalah 'Charles' dan 'Janji Temu' dengan 'Dokter'. Operator $or mencocokkan nilai bidang ini dalam koleksi 'Pasien' dan menghasilkan hasil setelah pencocokan.



db.Pasien.temukan ( { $atau : [ { 'Nama depan' : 'Charles' } , { 'Janji temu' : 'Dokter' } ] } ) .cukup ( )

Operator $or memiliki satu hasil yang benar dan yang lainnya memiliki hasil yang salah. Saat kami menentukan 'Janji Temu' dengan nilai 'Dokter' yang tidak cocok dengan dokumen apa pun dalam koleksi 'Pasien'. Itu sebabnya, operator $or hanya mengembalikan dokumen dari field yang cocok yaitu “Patient” sebagai output.

Contoh 3: MongoDB $OR Operator dengan Banyak Argumen

Kami menyediakan dua argumen dalam kueri operator $or sebelumnya. Di sini, kami memberikan lebih dari dua argumen sebagai ekspresi $or operator. Kami mengambil dokumen yang cocok dengan salah satu nilai bidang 'Umur' yang diberikan padanya. Persyaratan $or operator sama untuk beberapa argumen bahwa salah satu ekspresi harus benar. Kueri untuk beberapa argumen dalam operator $or diberikan sebagai berikut:

db.Pasien.temukan ( { 'Janji temu' : 'dokter jantung' , $atau : [ { 'Usia' : dua puluh } , { 'Usia' : 35 } , { 'Usia' : 69 } ] } )

Di sana, kami memiliki dua hasil yang cocok yang diperoleh dari operator $or. Nilai 'Umur' yaitu '35' dan '69' dibandingkan dengan dokumen 'Pasien' yang diperoleh oleh operator $or dan ditampilkan di shell.

Contoh 4: MongoDB $OR Operator dengan Agregasi

Metode agregat di MongoDB menggabungkan record menjadi sebuah koleksi. Oleh karena itu, mereka dapat digunakan untuk operasi yang berbeda. Kami melakukan operator $or dalam metode agregasi yang mengevaluasi satu atau lebih ekspresi dan mengembalikan true jika salah satu dari ekspresi tersebut bernilai true. Jika tidak, pernyataan itu dianggap salah.

Mari kita minta kueri operator $or aggregation di mana kita pertama kali memanggil metode agregat() yang kemudian menerapkan $match dan $project yang ditentukan dengan nilai _id untuk dicocokkan dari dokumen. Kemudian, kami menetapkan bidang 'Umur' dengan nilai '1' karena kami hanya ingin bidang ini dihasilkan dari semua dokumen. Setelah itu, kita mendefinisikan atribut “Results” yang memiliki operasi $or. Operator $or mengambil pernyataan bersyarat dari $gt. Ekspresi “$gt:[“$Age”, 69]” memberikan usia yang nilainya lebih besar dari “69”. Hasil untuk ekspresi ini diteruskan ke operator $or dan operator $or mengembalikan dokumen yang memenuhi kondisi yang ditentukan.

db.Pasien.agregat (
[
{ $ cocok : { _id: ObjectId ( '6391c61a4c91e007fb4f0228' ) } } ,
{ $proyek : {
_id: ObjectId ( '6391c61a4c91e007fb4f0227' ) ,
Usia: satu ,
Hasil: { $atau : [
{ $gt : [ ' $Usia ' , 69 ] }
] }
}
}
]
)

'Usia' yang lebih besar dari '69' adalah '74' yang ditampilkan di shell keluaran bersama dengan 'Hasil' yang memiliki nilai 'benar'.

Contoh 5: MongoDB $OR Operator Memanggil Ketentuan

Operator $or dari MongoDB adalah operator logis. Kita dapat menggunakan operator logika ini dengan operator kondisional. Operator $or mengembalikan hasil ketika kondisi terpenuhi. Selain itu, kita dapat memanggil lebih dari satu kondisi di operator $or yang salah satunya harus benar. Di sini, kami memiliki kueri $or operator yang ditentukan dengan dua kondisi berbeda. Kondisi pertama adalah “{Biaya:{$lt: 6000}}” yang mengembalikan dokumen yang kurang dari nilai “Biaya” “6000”. Kondisi {Biaya:“$gt: 7000”} mendapatkan dokumen yang lebih besar dari nilai “Biaya” “7000”.

Operator $or memberikan dokumen yang cocok ketika kondisi ini terpenuhi. Kemudian, kami menentukan nama bidang yang hanya ditampilkan saat operator $or memberikan dokumen yang cocok.

db.Pasien.temukan ( {
$atau : [
{ Biaya: { $lt : 6000 } } ,
{ Biaya: { $gt : 7000 } }
]
} , {
Nama depan: satu ,
Biaya: satu
} )

Keluaran hanya menampilkan bidang 'NamaDepan' dan 'Tagihan' untuk dokumen yang cocok.

Contoh 6: MongoDB $OR Operator Tanpa Argumen

Semua kueri yang diimplementasikan dengan operator $or diteruskan dengan nilai argumen. Sekarang, kita mendefinisikan kueri operator $or yang tidak memasukkan argumen. Ketika argumen kosong $or operator query dieksekusi, itu mengevaluasi hasil yang salah. Kami memberikan kueri di mana operasi $or diteruskan dengan ekspresi kosong.

db.Pasien.agregat (
[
{ $ cocok : { _Indo: { $ masuk : [ ObjectId ( '6391c61a4c91e007fb4f0228' ) ] } } } ,
{ $proyek : {
_id: ObjectId ( '6391c61a4c91e007fb4f0227' ) ,
Hasil: { $atau : [ ] } }
}
]
)

Sebagai hasil dari $or operator diberikan dengan argumen kosong, hasilnya menyatakan nilai yang salah.

Contoh 7: MongoDB $OR Operator Mencocokkan Nilai Array

Kami memasukkan larik 'Uji' dalam dokumen yang memiliki nilai berbeda. Kami menggunakan array itu untuk operator $or untuk memeriksa hasilnya. Operator $or dalam kueri berikut dipanggil di dalam metode find(). Operator $or mengambil larik 'Test' sebagai ekspresi. Larik “Uji” menggunakan operator $in untuk mengidentifikasi dokumen yang nilai bidangnya cocok dengan nilai “MRI” dan “CT” dalam larik.

db.Pasien.temukan ( { $atau : [ { Tes: { $ masuk : [ 'MRI' , 'CT' ] } } ] } ) .cukup ( )

Satu dokumen ditampilkan di shell ketika operator $or query dijalankan yang menunjukkan bahwa dokumen yang diambil berisi nilai array yang ditentukan.

Kesimpulan

Artikel MongoDB ini mengilustrasikan penggunaan kueri operator $or MongoDB untuk mengeksekusi operasi logis OR pada larik yang mencakup dua atau lebih ekspresi serta untuk mengambil dokumen yang cocok dengan setidaknya satu ekspresi. Operator $or diminta di shell MongoDB untuk melakukan operasi yang berbeda. Operator $or digunakan dalam operator bersyarat sebagai ekspresi dan mengembalikan dokumen berdasarkan pernyataan bersyarat.