‫Instruktur: Jadi kami
‫menyematkan pengguna ke dalam tur di
‫video terakhir, dan juga berbicara
‫tentang kelemahan pendekatan itu dalam situasi khusus kami.
‫Jadi dalam video ini, mari kita
‫menghubungkan tur dan pengguna bukan dengan menyematkan, melainkan dengan referensi.
‫Dan
‫untuk memulai, mari kita singkirkan kode yang kita tulis di kuliah terakhir.
‫Oke, jadi yang ini
‫di sini, bertanggung jawab untuk melakukan embedding pada dasarnya.
‫Dan sekarang mari kita pergi ke sini ke bidang panduan kami.
‫Oke?
‫Jadi kali ini dalam
‫video ini, idenya adalah bahwa tur dan pengguna akan selalu menjadi
‫entitas yang sepenuhnya terpisah di database kami.
‫Oke?
‫Jadi semua yang kami simpan pada
‫dokumen tur tertentu adalah ID pengguna yang menjadi pemandu
‫wisata untuk tur tersebut.
‫Kemudian ketika kami menanyakan tur,
‫kami ingin secara otomatis mendapatkan akses ke pemandu wisata.
‫Tetapi sekali lagi, tanpa mereka
‫benar-benar disimpan di dokumen tur itu sendiri.
‫Dan itulah tepatnya referensi.
‫Jadi seperti yang kita bicarakan di awal bagian ini.
‫Baiklah?
‫Dan sekarang izinkan
‫saya menunjukkan kepada Anda bagaimana kami dapat menerapkan referensi menggunakan Mongoose.
‫Oke?
‫Jadi, di sini, di panduan ini, kita sekarang ingin menentukan sebuah array.
‫Oke?
‫Jadi seperti yang kami lakukan sebelumnya dengan lokasi.
‫Dan sekali lagi
‫berarti ini akan menjadi beberapa sub-dokumen.
‫Jadi tertanam dokumen.
‫Baiklah?
‫Dan sekarang tipe ini akan
‫menjadi tipe baru yang belum pernah kita lihat sebelumnya.
‫Dan itu adalah luwak. Skema. objekId.
‫Oke?
‫Dan ini berarti bahwa kita
‫mengharapkan tipe dari
‫masing-masing elemen dalam array guides menjadi ID MongoDB.
‫Baiklah?
‫Dan di sini sebenarnya perlu huruf kapital O,
‫oke, jika tidak, itu tidak
‫akan berhasil, dan juga semua ini di sini harus berada di
‫dalam objek, sama seperti definisi tipe skema lainnya.
‫Oke, karena hanya itu yang sebenarnya.
‫Oke, jadi tipenya adalah ID MongoDB ini, pada dasarnya, dan
‫kemudian kita juga perlu menentukan referensinya.
‫Dan di sinilah keajaiban terjadi di
‫balik layar, karena di sini, sekarang kami mengatakan bahwa referensi harus pengguna.
‫Oke, jadi beginilah cara kami membuat referensi antara
‫kumpulan data yang berbeda di Mongoose.
‫Dan untuk ini sebenarnya kita
‫bahkan tidak perlu memiliki pengguna untuk diimpor ke dalam dokumen ini.
‫Jadi kami sebenarnya memilikinya di sini, tetapi kami bahkan tidak membutuhkannya.
‫Kami memilikinya di sini untuk kuliah sebelumnya,
‫tetapi kami dapat mengomentarinya,
‫karena apa yang baru saja kami lakukan di sini masih akan berhasil.
‫Oke?
‫Jadi, sekarang mari kita buat tur baru, dan
‫sebenarnya saya akan melakukannya seperti sebelumnya.
‫Jadi mari kita lanjutkan dan hapus yang ini.
‫Dimana IDnya?
‫Ini dia.
‫Jadi hapus tur.
‫Jadi kita sudah bisa menggunakan API kita untuk itu.
‫Baiklah, dan sekarang kita membuat tur baru.
‫Dan seperti
‫sebelumnya, semua yang kita berikan ke panduan adalah array ID.
‫Baiklah?
‫Tapi kali ini
‫kami benar-benar menetapkan bahwa ID objek persis seperti yang kami harapkan.
‫Benar?
‫Jadi, ini adalah tipe ID objek.
‫Namun di balik layar, itu juga direferensikan kepada pengguna.
‫Baiklah?
‫Jadi, saat kita membuat tur ini di sini,
‫tur ini sebenarnya hanya berisi ID
‫ini, dan bukan pengguna yang sesuai dengan ID tersebut.
‫Jadi mari kita lihat itu.
‫Dan jadi ya, ini dia.
‫Jadi ini persis data yang kami masukkan.
‫Hanya ID pemandu wisata.
‫Oke, dan itulah yang kami harapkan.
‫Karena untuk saat ini, yang kami miliki
‫hanyalah referensi di dalam luwak.
‫Dan kami kemudian akan mengurus agar
‫data benar-benar muncul di output kami di video berikutnya.
‫Oke, karena kita akan melakukannya dengan dua cara yang berbeda.
‫Mari kita juga lihat di sini di Kompas
‫sangat cepat, hanya untuk melihat itu juga di mana itu, ya, di sini.
‫Jadi Anda melihat ID objek sebenarnya,
‫dan tentu saja, ID yang kami berikan.
‫Jadi seperti yang kami harapkan dengan tur dan pengguna, masih
‫dua entitas yang sama sekali berbeda.
‫Dan seperti yang saya katakan sebelumnya,
‫di video berikutnya, kita akan benar-benar
‫menampilkan data pengguna
‫di output, menggunakan proses yang disebut mengisi.