Assalamualaikum warohmatullohi wabarokatuh,
Wa alaikum salam warohmatullohi wabarokatuh,
Di tutorial ini akan berbagi cara logical query operator yang terdiri dari $and, $or, $nor, $not penjelasan akan disertakan pada script nya langsung, Perbedaan operator logical ini menggabungkan beberapa operasi query, pada bab sebelumnya comparison query diawali dengan nama field nya, sedangkan logical query diawali dengan $operator dan didalam nya ada array karena logical query membandingkan beberapa query biasanya 2 atau lebih.
Jadi syntax yang digunakan untuk $and, $or, $nor seperti ini :
berikut syntax dasar nya:
db.collection.find({ $operator : [ { // expression }, { // expression } ] })
Operator | Keterangan |
$and | Saat semua kondisi nya sesuai atau true(benar) maka akan menampilkan dokumen nya sesuai dengan kondisi operatornya. |
$or | Kondisi salah satu telah terpenuhi maka true |
$nor | Jika semua kondisi false(gagal) maka kondisi terpenuhi |
$not | Berkebalikannya jika status operator true maka false atau dibalik jika false maka true |
$and ( And ) Logical operator $and dimana saat semua kondisi nya sesuai atau true(benar) maka akan menampilkan dokumen nya sesuai dengan kondisi operatornya.
#Sample_syntax
// operator $and db.data_guru.find({ $and: [ { status_guru:{ $in:["pns","honorer"] } }, { umur:{ $gt: 20 } } ] }).pretty()
$or ( Or )
Logical Operator $or dimana kondisi salah satu telah terpenuhi seperti contoh saat ingin menampilkan dokumen/data pada field status_guru yang isinya honorer maka syntax nya seperti berikut :
#sample_syntax
// operator $or db.data_guru.find({ $or: [ { status_guru:"honorer" }, { status_guru:"Guru Bantu" } ] }).pretty()
$nor ( Not Or )
Logical operator $nor (Not Or) jika semua kondisi false(gagal) maka kondisi terpenuhi dalam praktek disini mencoba untuk menampilkan dokumen yang memiliki isi status guru pns atau honorer memang ada isi nya maka yang ditampilkan pada terminal adalah yang tidak sesuai dengan kondisi nya, berarti dokumen/data yang tidak memiliki field status_guru yang isinya pns atau honorer maka ditampilkan. berikut contoh syntax nya
#sample_syntax
// operator $Nor db.data_guru.find({ $nor: [ { status_guru:"honorer" }, { status_guru:"pns" } ] }).pretty()
$not ( Not )
Pada Logical Operator $not berkebalikannya jika status operator true maka false atau dibalik jika false maka true, berikut aturan syntax nya
#basic_syntax
// basic syntax operator $not db.collection.find({ $field : { $not : { // expression } } })
#sample_syntax
// operator $not db.data_guru.find({ status_guru:{ $not:{ $in:["pns"] } } }).pretty()
#result_nya
Hasilnya akan menampilkan semua dokumen/data yang bukan PNS bahkan yang tidak memiliki field status guru juga tidak ditampilkan karena statusnya dianggap null
Hasilnya akan menampilkan semua dokumen/data yang bukan PNS bahkan yang tidak memiliki field status guru juga tidak ditampilkan karena statusnya dianggap null
Logical operator $and dengan range.
Contoh sederhana nya pada syntax ini kita akan menampilkan field umur dokumen/data mulai dari umur 24 hingga umur 30, dengan status guru yang bukan honorer .
jika dibayangkan pada query mysql nya akan seperti ini :
select * from data_guru where umur between 18 and 40 and status_guru != 'honorer'
#sample_syntax
Contoh sederhana nya pada syntax ini kita akan menampilkan field umur dokumen/data mulai dari umur 24 hingga umur 30, dengan status guru yang bukan honorer .
jika dibayangkan pada query mysql nya akan seperti ini :
select * from data_guru where umur between 18 and 40 and status_guru != 'honorer'
#sample_syntax
// operator $and db.data_guru.find({ $and: [ { umur:{ $gte: 24, $lte: 30 } }, { status_guru:{ $ne: 'honorer' } } ] }).pretty()
#result_nya
Pada gambar diatas ada yang tidak memiliki field status guru tetap ditampilkan, karena field umur nya diatas 24 dan field status_guru dianggap null, jika seandainya ada field nya dan isi nya honorer maka tetap tidak akan ditampilkan, jika field status_guru isinya pns maka akan ditampilkan seperti gambar diatas.
Pada gambar diatas ada yang tidak memiliki field status guru tetap ditampilkan, karena field umur nya diatas 24 dan field status_guru dianggap null, jika seandainya ada field nya dan isi nya honorer maka tetap tidak akan ditampilkan, jika field status_guru isinya pns maka akan ditampilkan seperti gambar diatas.
Demikian pembahasan logical operator pada mongodb, jika ada kesulitan mengenai pembahasan ini, bisa tinggalkan komentar dibawah ini. Terima Kasih
Thank's
TAG TAGS :
CARA LOGICAL QUERY OPERATOR DI MONGODB |
CARA LOGICAL QUERY OPERATOR PADA DOKUMEN MONGODB |
CARA LOGICAL QUERY OPERATOR MENGGUNAKAN MONGODB |
HOW TO LOGICAL QUERY OPERATOR DATA USE MONGODB |
HOW TO LOGICAL QUERY OPERATOR WITH MONGODB | $and on mongodb | $or on mongodb
$nor on mongodb | $not on mongodb | $and with range on mongodb
langsungkoding.blogspot.com |
langsungkoding |
BACA JUGA :