‫Instruktur: Sekarang mari
‫kita tangani kesalahan yang terjadi saat kita mencoba
‫membuat bidang duplikat untuk bidang yang sebenarnya seharusnya unik.
‫Jadi, ingat, bahwa
‫ini adalah jenis kesalahan yang
‫kita dapatkan.
‫Jadi, kami mencoba
‫membuat tur baru dengan nama yang
‫sudah ada dan bidang nama seharusnya unik
‫dan kami mendapatkan kesalahan ini.
‫Sekarang kesalahan ini di
‫sini tidak memiliki properti nama, oke?
‫Dan itu karena, seperti yang saya
‫sebutkan sebelumnya, sebenarnya bukan kesalahan
‫yang disebabkan oleh luwak.
‫Tapi sebaliknya, sungguh, oleh
‫driver MongoDB yang mendasarinya, oke?
‫Jadi, apa
‫yang akan kita lakukan
‫untuk mengidentifikasi kesalahan ini adalah menggunakan kode 11.000 ini di sini.
‫Baiklah?
‫Jadi, kami memiliki satu penangan untuk CastError.
‫Sekarang mari kita buat satu untuk kasus di mana kita memiliki
‫kesalahan itu. kode,. kode sama dengan 11.000.
‫Jadi dalam hal ini, semua kesalahan harus sama dengan kesalahan
‫yang dikembalikan dari handleDuplicateFields dan sekali
‫lagi, saya menambahkan DB di sini supaya kita tahu bahwa ini ada
‫hubungannya dengan database kita.
‫Baiklah?
‫Dan, jadi sekarang mari kita buat fungsi ini.
‫Dan sekarang, pesan yang akan kita kirim adalah yang
‫ini jadi mari kita buat di sini.
‫Jadi saya ingin mengatakan, Duplikat nilai bidang, dan
‫kemudian mendengar nama nilai
‫itu, jadi mari kita masukkan ke x untuk saat ini.
‫Kami akan menghasilkan itu nanti.
‫Jadi silakan gunakan nilai lain.
‫Baiklah?
‫Jadi dalam kasus yang
‫baru saja kita lihat, x ini di sini harus disebut Pendaki Hutan.
‫Jadi pada dasarnya, apa yang kami coba
‫keluarkan dari string
‫pesan kesalahan ini adalah ini, "The Forest Hiker. " Jadi itulah nilai duplikat yang ingin kami
‫kirimkan ke
‫klien sehingga mereka
‫sekarang dapat memperbaikinya
‫dan membuat nama lain.
‫Jadi, bagaimana kita bisa mengekstrak potongan
‫string ini di sini?
‫Nah, kita akan menggunakan ekspresi reguler untuk, pada dasarnya,
‫seperti yang baru saja saya katakan, menemukan teks
‫yang berada di antara tanda kutip.
‫Karena di sini, di string ini, yang kita
‫miliki untuk mengidentifikasi teks ini di sini,
‫jadi untuk menemukannya, adalah kutipan ini.
‫Baiklah?
‫Dan sekarang, seperti
‫yang sudah Anda ketahui, ekspresi reguler bisa sangat sulit.
‫Jadi saya biasanya hanya Google mereka dan biarkan saya
‫menunjukkan kepada Anda bagaimana saya benar-benar melakukannya.
‫Dalam hal ini, saya hanya akan mencari teks pencocokan
‫ekspresi reguler di antara tanda kutip.
‫Dan kemudian biasanya itu benar hasil pertama.
‫Dan kemudian di sini kita mendapatkan hasilnya sehingga
‫kita dapat menggunakan ekspresi reguler ini.
‫Sekarang saya melihat bahwa kita memiliki ini di sini.
‫Ini juga berfungsi dan lebih mudah dibaca.
‫Dan itu memiliki banyak suara dan jadi
‫kita bisa menggunakan yang ini.
‫Jadi itu harus bekerja juga.
‫Jadi mari kita salin
‫dan kembali ke kode kita, dan katakan bahwa nilai kita,
‫jadi nilai const sama dengan kesalahan. ermsg, jadi ingat, itu
‫nama propertinya.
‫Jadi, errmsg. Jadi sekali lagi, itu karena ini adalah kesalahan yang dibuat oleh Mongo
‫dan ini
‫adalah nama yang sedikit berbeda.
‫Oke?
‫Jadi kami memiliki
‫string ini dan sekarang di sini kami ingin mencocokkan ekspresi reguler kami.
‫Jadi, cocokkan, lalu di JavaScript, ekspresi
‫reguler selalu berada di antara dua garis miring.
‫Kemudian tempel di sini apa yang baru saja
‫kita dapatkan dari Stack Overflow dan mari kita lihat.
‫Jadi, kami sudah menjalankan produksi.
‫Saat ini kami tidak akan mengirim kembali tanggapan apa pun.
‫Yang ingin saya lakukan sekarang adalah melihat nilainya.
‫Jadi, jika saya mengirim ini sekarang, kami mendapat respons aneh di sini.
‫Dan sekali lagi, itu karena kami tidak mengirim kesalahan apa pun.
‫Tetapi untuk saat ini saya benar-benar hanya tertarik pada nilainya.
‫Jadi ini, apa yang kita lihat di log sekarang
‫adalah nilai itu.
‫Dan sebenarnya itu adalah sebuah array.
‫Tapi yang kami minati sebenarnya adalah string ini di sini.
‫Jadi itu benar-benar cocok dengan semua teks yang ada
‫di antara string dan, kita dapat
‫mengatakan bahwa itu berhasil.
‫Jadi ekspresi reguler kami berhasil.
‫Sekarang, yang harus kita katakan adalah bahwa kita menginginkan elemen
‫pertama dari array itu.
‫Jadi, elemen nol.
‫Dan sekarang, mari kita lanjutkan
‫dan kembali atau AppError baru, jadi AppError baru,
‫tempel di pesan, dan sekali lagi kode status 400 untuk
‫permintaan yang buruk.
‫Dan sekarang mari kita coba lagi.
‫Sekali lagi, kami masih
‫menjalankan produksi dan kode itu sekarang harus dijalankan.
‫Dan tentu saja, kami mencoba mengganti x.
‫Tentu saja, kami sekarang ingin nilai kami di sini.
‫Jadi, sekarang kita mendapatkan
‫nilai bidang duplikat, "The Forest Hiker. " Sempurna.
‫Dan sekarang,
‫selanjutnya, di video berikutnya kita akan
‫menangani yang terakhir dari tiga kesalahan yang merupakan kesalahan validasi.