Cara Join 2 Collection Di Mongodb & Nodejs Dengan Mongoose
Cara melaksanakan join 2 collection di mongodb dengan node js mongoose - Halo teman-teman! Selamat tiba kembali di artikel TB kali ini.
Pada kesempatan kali ini, saya akan memberi tutorial seputar database nosql yang sedang terkenal dikalangan programmer modern, yaitu mongodb.
Sesuai judul, artikel kali ini akan membahas ihwal cara melaksanakan join 2 collection dengan mongo db.
Join yaitu proses penggabungan 2 collection atau lebih menjadi satu objek json. Hal ini ada kaitannya dengan korelasi database. Mungkin kalau di sql kita dapat memakai perintah INNER JOIN, LEFT JOIN, atau RIGHT JOIN. Tetapi di mongodb, kita harus memakai function satu per satu memakai perintah javascript.
Berikut ini cara melaksanakan join 2 collection mongodb dengan node js dan mongoose
Saya anggap database mongodb sudah terkoneksi dengan aplikasi node js kalian ya..
Sebelumnya, kita akan menetapkan pemanggilan mongoose di node_modules secara global.
Misal, kita mempunyai 2 Collection bernama employers dan positions
Berikut ini yaitu Schema masing-masing collection
1. employers
2. positions
Silahkan isi value dari masing-masing collection secara manual. Bisa memakai cmd mongodb ataupun juga dapat memakai mongodb compass. Yang penting collection yang sudah dibentuk tadi mempunyai value biar mempermudah proses testing. Syaratnya yaitu position_name di collection employers harus sama dengan _id di collection positions (sebagai patokan korelasi data)
Perhatikan goresan pena yang saya beri font berwarna merah pada Schema employers.
kita mempunyai sebuah key berjulukan position_name. Itu yaitu key yang kita buat. Sedangkan untuk font yang saya cetak berwarna merah dengan highlight kuning itu yaitu nama collection lain yang akan kita lakukan join dan dimasukan kedalam key position_name.
Untuk type dari key, wajib dimasukan mongoose.Schema.Types.ObjectId sebagai pola seleksi dalam collection. Kalau teman-teman pernah bermain SQL, hal ini sama dengan perintah ON pada INNER JOIN sql
Mungkin teman-teman bertanya, kan nama collectionnya positions, kok kita tulisnya nama collectionnya position?
Makara mongodb dan mongoose telah melaksanakan plurality dalam collection yang ada dengan kegiatan yang ditulis. Makara kalau kita menulis position, maka otomatis kita menentukan collection positions, employer menjadi employers, category menjadi categories, dan lain sebagainya.
Sekarang pastikan bahwa kedua schema dari collection tersebut berjalan dalam satu file. Bisa ditulis langsung, ataupun kalau file schema terpisah dapat dipanggil dengan require().
Lanjut...
Setelah itu, kita masukan schema tersebut kedalam model mongodb.
Sekarang kita akan menampilkan hasil dari join 2 collection tersebut.
Saya anggap kalian sudah berhasil melaksanakan routing dengan cara kalian masing masing. Bisa pakai express, vue-router, react-router, atau apa saja. Yang penting didalam route harus berisi instruksi berikut ini.
Perhatikan goresan pena berwarna merah. Function populate() berisi nama key di dalam collection employers yang telah dijoin kan dengan collection lain.
Lalu cek halaman url route nya. Disini saya atur urlnya /api/employers (tergantung cara routing kalian)
Berikut ini hasilnya...
Itulah cara melaksanakan join multiple collection di mongodb. Semoga artikel ini bermanfaat! Jika ada yang kurang terang atau pertanyaan lain, silahkan tinggalkan komentar! Terima kasih! Sumber https://teziger.blogspot.com/
Pada kesempatan kali ini, saya akan memberi tutorial seputar database nosql yang sedang terkenal dikalangan programmer modern, yaitu mongodb.
Sesuai judul, artikel kali ini akan membahas ihwal cara melaksanakan join 2 collection dengan mongo db.
Join yaitu proses penggabungan 2 collection atau lebih menjadi satu objek json. Hal ini ada kaitannya dengan korelasi database. Mungkin kalau di sql kita dapat memakai perintah INNER JOIN, LEFT JOIN, atau RIGHT JOIN. Tetapi di mongodb, kita harus memakai function satu per satu memakai perintah javascript.
Baca Juga: Cara Melakukan Spesific Select Dengan Node Js & MongoDB
Berikut ini cara melaksanakan join 2 collection mongodb dengan node js dan mongoose
Saya anggap database mongodb sudah terkoneksi dengan aplikasi node js kalian ya..
Sebelumnya, kita akan menetapkan pemanggilan mongoose di node_modules secara global.
const mongoose = require('mongoose')
Misal, kita mempunyai 2 Collection bernama employers dan positions
Berikut ini yaitu Schema masing-masing collection
1. employers
const EmployerSchema = mongoose.Schema({
name:String,
position_name:{type: mongoose.Schema.Types.ObjectId, ref: 'position'}
})
2. positions
const PositionSchema = mongoose.Schema({
name:String,
})
Silahkan isi value dari masing-masing collection secara manual. Bisa memakai cmd mongodb ataupun juga dapat memakai mongodb compass. Yang penting collection yang sudah dibentuk tadi mempunyai value biar mempermudah proses testing. Syaratnya yaitu position_name di collection employers harus sama dengan _id di collection positions (sebagai patokan korelasi data)
Perhatikan goresan pena yang saya beri font berwarna merah pada Schema employers.
kita mempunyai sebuah key berjulukan position_name. Itu yaitu key yang kita buat. Sedangkan untuk font yang saya cetak berwarna merah dengan highlight kuning itu yaitu nama collection lain yang akan kita lakukan join dan dimasukan kedalam key position_name.
Untuk type dari key, wajib dimasukan mongoose.Schema.Types.ObjectId sebagai pola seleksi dalam collection. Kalau teman-teman pernah bermain SQL, hal ini sama dengan perintah ON pada INNER JOIN sql
Mungkin teman-teman bertanya, kan nama collectionnya positions, kok kita tulisnya nama collectionnya position?
Makara mongodb dan mongoose telah melaksanakan plurality dalam collection yang ada dengan kegiatan yang ditulis. Makara kalau kita menulis position, maka otomatis kita menentukan collection positions, employer menjadi employers, category menjadi categories, dan lain sebagainya.
Sekarang pastikan bahwa kedua schema dari collection tersebut berjalan dalam satu file. Bisa ditulis langsung, ataupun kalau file schema terpisah dapat dipanggil dengan require().
Lanjut...
Setelah itu, kita masukan schema tersebut kedalam model mongodb.
const EmployerModel = mongoose.model('employer', EmployerSchema)
mongoose.model('position', PositionSchema)
Sekarang kita akan menampilkan hasil dari join 2 collection tersebut.
Saya anggap kalian sudah berhasil melaksanakan routing dengan cara kalian masing masing. Bisa pakai express, vue-router, react-router, atau apa saja. Yang penting didalam route harus berisi instruksi berikut ini.
EmployerModel.find().populate('position_name').exec((err,data)=>{
res.send(data)
})
Perhatikan goresan pena berwarna merah. Function populate() berisi nama key di dalam collection employers yang telah dijoin kan dengan collection lain.
Lalu cek halaman url route nya. Disini saya atur urlnya /api/employers (tergantung cara routing kalian)
Berikut ini hasilnya...
Itulah cara melaksanakan join multiple collection di mongodb. Semoga artikel ini bermanfaat! Jika ada yang kurang terang atau pertanyaan lain, silahkan tinggalkan komentar! Terima kasih! Sumber https://teziger.blogspot.com/
