Assalamualaikum warohmatullohi wabarokatuh,
Wa alaikum salam warohmatullohi wabarokatuh,
Projection pada query function find, memiliki 2 parameter, yaitu query dan projection, projection adalah memilih field mana yang ingin ditampilkan atau hide seperti script ini misalkan db.
$include
$include adalah menampilkan beberapa field dengan memberi nilai 1 pada projectionnya, normal nya jika kita menggunakan syntax seperti ini misalnya ::
db.data_guru.find({}).pretty();
dengan syntax seperti itu, akan menampilkan semua field, namun jika menggunakan projection, field yang ditampilkan adalah yang memiliki nilai 1.
// $include db.collection.find({ //query },{ field_ke_1: 1, // menampilkan, })
// sample $include db.data_guru.find({ //tanpa query },{ nama_guru: 1, status_guru:1, tahun_masuk: 1 }).pretty() //Maksud 1 adalah menampilkan
hide
hide adalah menyembunyikan atau tidak menampilkan, jadi jika kita memberikan nilai 0 pada syntax projection nya maka hasilnya field yang bernilai nol/0 tidak akan ditampilkan.
// syntax dasar $hide db.collection.find({ //query },{ field_ke_1: 0, // tidak ditampilkan, }) // Maksud dari angka 0 adalah tidak menampilkan field nya
// sample syntax $hide db.data_guru.find({ //tanpa query },{ tahun_masuk: 0, umur: 0, status_guru: 0 }).pretty()
Operator $(Dollar)
Melimit data array hanya mengembalikan data pertama yang cocok dengan array operator, Berikut syntax dasar $ operator
// syntax dasar $ db.collection.find({ field: { $elemMatch: { // query } } },{ "field.$": 1 })
// sample syntax $ db.data_guru.find({ hobi: { $elemMatch: { $in:["berenang", "main catur"] } } },{ nama_guru: 1, status_guru: 1, "hobi.$": 1 }).pretty()
penjelasan dari syntax diatas adalah menampilkan data/dokumen yang cocok dnegan input user berupa berenang dan main catur, jika ada maka akan ditampilkan. Lalu pada syntax "hobi.$": 1 makasud nya adalah menampilkan data/dokumen array
elemMatch
Limit array hanya mengembalikan data pertama yang cocok dengan kondisi query, jika ada 10 data array maka yang dikembalikan hanya yang cocok
// basic syntax $elemMatch db.collection.find({ field: { $elemMatch: { // query } } },{ "field.$": 1 })
// sample syntax $elemMatch db.data_guru.find({ //tanpa query }, { nama_guru: 1, umur: 1, hobi: { $elemMatch: { $in: ["berenang"] } } }).pretty()
Penjelasan dari syntax diatas adalah menamplkan semua data/dokumen yang memiliki dan tidak memiliki field hobi lalu akan mencocokkan apakah field hobi memiliki value array berenang.
Meta
Mengembalikan informasi metadata yang didapat dari setiap matching document,lebih gampang nya adalah menampilkan data yang relevan, klu yg paling sering di akses akan ditampilkan pada score. Berikut syntax dasar dari Meta :
// basic syntax $meta db.collection.find({ $text: { $search: "query" } },{ score: { $meta: "textScore" } })
// sample syntax $meta db.data_guru.find({ $text: { $search: "ustad" } },{ score: { $meta: "textScore" } }).pretty()
Dari gambar diatas terdapat skor yaitu 0.75 adalah yang paling sering diakses atau yang paling sering dilakukan peng query an
Slice
Slice mengontrol jumlah data yang ditampilkan pada array, ada 3 jenis slice yaitu,
- slice yang menampilkan value array dari depan.
- slice yang menampilkan value array dari belakang
- slice yang menampilkan value array dari tengah
// basic syntax $slice db.collection.find({ //query },{ field:{ //harus ada value array $slice: 2 //slice size } })
// sample syntax $slice db.data_guru.find({ //tanpa query },{ hobi: { $slice: 2 } }).pretty()
penjelasan dari syntax slice diatas adalah menampilkan data atau dokumen dengan memiliki array sebanyak 2 value atau 2 data / dokumen dari depan.
Slice Lanjutan
Berikut syntax slice dengan menampilkan data array dari belakang sesuai dengan parameter.
// sample syntax $slice db.data_guru.find({ //tanpa query },{ hobi: { $slice: -2 } }).pretty()
Berikut syntax slice dengan menampilkan data array dari tengah sesuai dengan parameter.
// sample syntax $slice db.data_guru.find({ //tanpa query },{ hobi: { $slice: [1,1] } }).pretty()
Penjelasan dari syntax slice diatas adalah menampilkan data atau dokumen dengan memiliki array sebanyak 1 value atau 2 data dokumen ditengah-tengah.
Demikian pembahasan projection operator pada mongodb, jika ada kesulitan mengenai pembahasan ini, bisa tinggalkan komentar dibawah ini. Terima Kasih
Thank's
TAG TAGS :
BACA JUGA :
0 comments:
Post a Comment