‫Instruktur Pria: Hei, ada!
‫Jadi sekarang mari kita pelajari cara membaca dokumen dengan Mongoose
‫untuk menerapkan atau mendapatkan tur dan mendapatkan semua penangan
‫rute tur.
‫Dan mulai dengan handler getAllTours.
‫Jadi pertama-tama, mari kita hapus bagian kode ini di sini.
‫Dan sekarang apa
‫yang akan kita lakukan untuk mendapatkan semua tur
‫dari database adalah dengan menggunakan Tour.
‫Jadi model lagi.
‫Di akhir sana, kami menggunakan metode find.
‫Baiklah.
‫Jadi ingat dari persimpangan MongoDB, di mana
‫ketika kita ingin menanyakan semua dokumen,
‫kita cukup menggunakan find, oke?
‫Jadi di sini, itu metode yang sama persis.
‫Dan lagi, ketika kita tidak memasukkan apa pun ke dalamnya,
‫jadi seperti yang kita
‫lakukan di sini, maka itu akan mengembalikan
‫semua dokumen dalam koleksi itu, oke?
‫Jadi dalam hal ini, dalam koleksi wisata jelas.
‫Sekarang sama seperti sebelumnya, ini akan mengembalikan janji yang
‫akan kita tunggu.
‫Dan karena kita ingin
‫menunggu, kita perlu membuat ini menjadi fungsi async.
‫Jadi asinkron.
‫Kemudian disini kita bisa menunggu, dan menyimpan hasilnya ke dalam wisata.
‫Baiklah.
‫Dan itu sebenarnya.
‫Jadi, mari kita singkirkan komentar-komentar ini di sini.
‫Kami juga tidak menginginkan properti yang diminta.
‫Jadi itu hanya untuk pengujian sebelumnya.
‫Dan, ya, saya pikir itu saja.
‫Jadi ini adalah bagaimana kami mendapatkan semua
‫tur dari koleksi Tur.
‫Jadi menggunakan find, lalu menunggu hasil itu,
‫dan kemudian mengirimkannya ke sini.
‫Jadi ingatlah bahwa kami memiliki properti data ini
‫di sini untuk pada dasarnya menyelimuti tur.
‫Dan kemudian kami juga mengirimkan properti ini
‫ke sini, yang hanya mengukur jumlah hasil
‫yang ada di tur, oke.
‫Oke?
‫Karena tentu saja, metode find ini di
‫sini akan mengembalikan larik dari semua dokumen ini, dan
‫juga akan mengubahnya dengan sangat baik
‫menjadi objek JavaScript, oke?
‫Jadi fungsi ini di sini, metode pencarian
‫ini, benar-benar bekerja untuk kita.
‫Sekarang seperti sebelumnya,
‫satu langkah lagi sebelum kita benar-benar dapat mencoba ini,
‫yaitu membungkus semua ini di sini di blok
‫try dan kemudian menangkap potensi kesalahan.
‫Sekarang
‫dalam hal ini, tidak akan ada kesalahan validasi seperti sebelumnya.
‫Tapi mari kita tetap mengirim kesalahan di sini, dalam
‫hal ini, dan buatlah menjadi 404.
‫Dan itu tidak terlalu penting pada saat ini karena sekali
‫lagi, kita akan menerapkan beberapa penanganan kesalahan
‫yang lebih baik di sini
‫di bagian berikutnya, atau di salah satu bagian berikutnya.
‫Baiklah?
‫Jadi mari kita atur di sini ke status: 'fail',
‫dan pesan kesalahan apa pun yang mungkin kita dapatkan di sini.
‫Oke.
‫Jadi, mari kita uji sekarang.
‫Ini dia, Dapatkan Semua Tur.
‫Dan, ya, itu berhasil.
‫Jadi di sini kami memiliki susunan dari tiga tur yang
‫saat ini kami miliki di database kami.
‫Sempurna.
‫Jadi selanjutnya, mari kita implementasikan handler getTour.
‫Jadi mari kita menulis yang berikutnya yang kita miliki di sini.
‫Dan mari kita singkirkan kode ini,
‫dan kode ini.
‫Baiklah.
‫Dan yang ini sebenarnya akan bekerja dengan cara yang sangat mirip.
‫Jadi saya masih melakukan ini coba tangkap di sini.
‫Jadi kesalahan, seperti ini.
‫Karena kami masih menggunakan async waiting dalam hal ini.
‫Jadi asinkron.
‫Karena sekarang untuk menemukan satu
‫tur, kami masih akan menunggu Tur. Temukan.
‫Tapi itu bukan hanya
‫find, tapi kita akan menggunakan findById, oke.
‫Jadi findById, tetapi dari mana ID itu sebenarnya berasal?
‫Ingat bahwa?
‫Jadi mari kita lihat rutenya.
‫Jadi kembali ke Postman, ini
‫adalah bagaimana kita menyebut titik akhir ini,
‫oh, mari kita masukkan ID yang lebih nyata di sini.
‫Jadi, misalnya, yang satu
‫ini dari The Park Camper.
‫Jadi permintaan kami mungkin datang dari rute seperti ini.
‫Jadi di sini, kami memiliki parameter
‫ID ini tepat di rute kami, bukan?
‫Jadi mari kita lihat router kami di sini.
‫Dan ingatlah bahwa ini adalah bagaimana
‫kami menentukannya, ID di URL.
‫Jadi ID ini jelas akan menjadi bagian dari permintaan.
‫Jadi bagaimana sebenarnya kita mendapatkan akses ke ID itu di
‫sini, dan handler ini?
‫Yah, kami melakukan req. parameter, id.
‫Dan itu
‫adalah ID karena itulah yang kami sebut variabel ini di sini, bukan?
‫Jika itu nama di sini, maka
‫di sini kami memiliki req. param nama, kan?
‫Ingat bahwa?
‫Dan sekarang, mari simpan itu untuk tur.
‫Sekarang baik-baik saja.
‫Kemudian mari kita kembalikan kode ini.
‫Salin di sini.
‫Dan kemudian juga yang ini untuk blok kesalahan.
‫Dan jangan khawatir, saya akan menjelaskan fungsi ini
‫sebentar lagi.
‫Saya hanya ingin menyelesaikan kode ini di sini dulu.
‫Jadi potongan kode ini akan sama persis
‫untuk blok catch ini.
‫Simpan sekarang, jadi
‫kami tidak mendapatkan kesalahan di sini dari eslint.
‫Sekarang tentang metode find ID di sini,
‫nah, ingat bagaimana di sini kita baru saja menggunakan find, oke?
‫Jadi find adalah menemukan semua dokumen.
‫Dan kemudian kami juga
‫memiliki findOne untuk menemukan hanya satu dokumen, oke?
‫Jadi findById ini benar-benar hanya singkatan, jadi fungsi pembantu
‫untuk, izinkan saya menulisnya di
‫sini sebagai komentar, untuk menulis
‫findOne, dan
‫kemudian dengan objek filter, yang
‫persis seperti yang kita
‫pelajari di persimpangan MongoDB.
‫Jadi kami memiliki bidang ID.
‫Dan kemudian kita bisa mengaturnya ke req. param Indo.
‫Jadi ini di sini akan bekerja dengan cara yang sama persis seperti ini, oke?
‫Jadi _id, karena IDnya seperti itu.
‫Jadi MongoDB disebut _id.
‫Dan tentu saja kita bisa menanyakan bidang itu, bukan?
‫Kami melakukan hal itu di bagian terakhir.
‫Jadi kami menentukan objek filter ini di sini,
‫lalu properti yang kami cari,
‫dan kemudian nilai yang ingin kami cari.
‫Jadi persis sama lagi, seperti yang kita lakukan di bagian terakhir.
‫Dan metode findOne ini
‫di sini hanya akan mengembalikan salah satu dokumen.
‫Sekarang findById ini, seperti yang
‫saya sebutkan sebelumnya, hanyalah singkatan karena harus menulis ini.
‫Jadi di belakang layar, itu akan melakukan hal ini.
‫Tapi luwak hanya ingin membuat hidup kita lebih mudah.
‫Dan karena itu, memberi kami akses ke metode
‫yang lebih mudah
‫yang disebut findById, yang hanya mengharapkan ID yang kami cari.
‫Baiklah?
‫Jadi biarkan saya benar-benar meninggalkannya di sini, hanya sebagai referensi.
‫Dan sekarang, ini akan benar-benar berhasil.
‫Jadi, mari kita lihat itu.
‫Jadi kami sudah memasang ID tur ini.
‫Saya pikir itu Park Camper ini.
‫Jadi ac2.
‫Dan ac2, itu seharusnya The Park Camper,
‫dan memang begitu.
‫Besar.
‫Dan itu adalah cara termudah untuk menemukan
‫atau menanyakan dokumen dari database.
‫Ada banyak lagi yang bisa kita lakukan dengan kueri, dan
‫kita akan melakukan
‫semua itu setelah kita mulai menerapkan sesuatu
‫seperti pemfilteran atau pengurutan atau pagination,
‫dan semua hal bagus itu nanti di bagian ini, jadi
‫dalam beberapa video dari sekarang.
‫Namun,
‫pada titik ini, cukup mengembalikan semua dokumen di sini di
‫pengendali rute ini.
‫Dan kemudian di sini, cukup satu untuk ID yang cocok.
‫Dan itu berhasil
‫sekarang, jadi mari kita beralih ke yang berikutnya.