Published May 26, 2022 by RIT with 0 comment

CARA MENGGUNAKAN PROJECTION OPERATOR PADA MONGO DATABASE

source logo : www.mongodb.com


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..find(QUERY,PROJECTION), pada query sql rdbms tinggal menyebutkan SELECT nama_table nya

$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.

#syntax_dasar
// $include

db.collection.find({
   
  //query
 
  },{
 
    field_ke_1: 1, // menampilkan, 
 
})

#sample_syntax
// sample $include

db.data_guru.find({
 
  //tanpa query
 
},{
   
  nama_guru: 1,
  status_guru:1,
  tahun_masuk: 1
 
}).pretty()
 
//Maksud 1 adalah menampilkan

#result_nya


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

// syntax dasar $hide

db.collection.find({
  //query
 
},{
 
  field_ke_1: 0, // tidak ditampilkan, 
 
})
 
// Maksud dari angka 0 adalah tidak menampilkan field nya

#sample_syntax

// sample syntax $hide

db.data_guru.find({
 
  //tanpa query
   
},{
 
  tahun_masuk: 0,
  umur: 0,
  status_guru: 0
 
}).pretty()

#result_nya

Hasilnya akan menampilkan semua field kecuali field tahun_masuk, umur, status_guru



Operator $(Dollar)

Melimit data array hanya mengembalikan data pertama yang cocok dengan array operator, Berikut syntax dasar $ operator

#syntax_dasar

// syntax dasar $

db.collection.find({
 
  field: {
      $elemMatch: {
      // query
      }
  }
 
},{
 
  "field.$": 1
 
})

#sample_syntax

// sample syntax $

db.data_guru.find({
 
  hobi: {
 
    $elemMatch: {
      $in:["berenang", "main catur"]
    }
  }
 
},{
 
  nama_guru: 1,
  status_guru: 1,
  "hobi.$": 1
 
}).pretty()

#result_nya

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

#syntax_dasar

// basic syntax $elemMatch

db.collection.find({
 
  field: {
 
    $elemMatch: {
      // query
    }
  }
 
},{
 
  "field.$": 1
 
})

#sample_syntax

// sample syntax $elemMatch

db.data_guru.find({
 
  //tanpa query
 
}, {
 
  nama_guru: 1,
  umur: 1,
  hobi: {
    $elemMatch: {
      $in: ["berenang"]
    }
  }
 
}).pretty()

#result_nya

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 :

#syntax_dasar

// basic syntax $meta

db.collection.find({
 
  $text: {
    $search: "query"
  }
 
},{
 
  score: {
    $meta: "textScore"
  }
 
})

#sample_syntax

// sample syntax $meta

db.data_guru.find({
 
  $text: {
    $search: "ustad"
  }
 
},{
 
  score: {
    $meta: "textScore"
  }
 
}).pretty() 

#result_nya

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

#syntax_dasar

// basic syntax $slice

db.collection.find({
 
  //query
 
},{
 
  field:{ //harus ada value array
 
      $slice: 2 //slice size
  }
 
})

#sample_syntax

// sample syntax $slice

db.data_guru.find({
 
  //tanpa query
 
},{
 
  hobi: {
 
    $slice: 2
 
  }
}).pretty()

#result_nya

penjelasan dari syntax slice diatas adalah menampilkan data atau dokumen dengan memiliki array sebanyak 2 value atau 2 data / dokumen dari depan.



Slice Lanjutan

#sample_syntax_slice_from_the_last
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()

#result_nya
Penjelasan dari syntax slice diatas adalah menampilkan data atau dokumen dengan memiliki array sebanyak 2 value atau 2 data dokumen dari akhir/belakang.
#sample_syntax_slice_from_the_midle

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()

#result_nya

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 :
CARA PROJECTION QUERY OPERATOR PADA MONGODB | CARA PROJECTION QUERY OPERATOR PADA DOKUMEN MONGODB | CARA PROJECTION QUERY OPERATOR MENGGUNAKAN MONGODB | HOW TO PROJECTION QUERY OPERATOR DATA USE MONGODB | HOW TO PROJECTION QUERY OPERATOR WITH MONGODB | $projection on mongodb | $projection on mongodb langsungkoding.blogspot.com | langsungkoding |


BACA JUGA :
      edit

0 comments:

Post a Comment