﻿1
00:00:01,220 --> 00:00:02,890
‫Instruktur: Sekarang mari

2
00:00:02,890 --> 00:00:06,140
‫kita tangani kesalahan yang terjadi saat kita mencoba

3
00:00:06,140 --> 00:00:09,633
‫membuat bidang duplikat untuk bidang yang sebenarnya seharusnya unik.

4
00:00:11,110 --> 00:00:12,210
‫Jadi, ingat, bahwa

5
00:00:12,210 --> 00:00:13,940
‫ini adalah jenis kesalahan yang

6
00:00:13,940 --> 00:00:14,900
‫kita dapatkan.

7
00:00:14,900 --> 00:00:16,673
‫Jadi, kami mencoba

8
00:00:16,673 --> 00:00:19,000
‫membuat tur baru dengan nama yang

9
00:00:19,000 --> 00:00:21,550
‫sudah ada dan bidang nama seharusnya unik

10
00:00:21,550 --> 00:00:23,670
‫dan kami mendapatkan kesalahan ini.

11
00:00:23,670 --> 00:00:25,250
‫Sekarang kesalahan ini di

12
00:00:25,250 --> 00:00:27,210
‫sini tidak memiliki properti nama, oke?

13
00:00:27,210 --> 00:00:29,071
‫Dan itu karena, seperti yang saya

14
00:00:29,071 --> 00:00:30,910
‫sebutkan sebelumnya, sebenarnya bukan kesalahan

15
00:00:30,910 --> 00:00:32,720
‫yang disebabkan oleh luwak.

16
00:00:32,720 --> 00:00:35,000
‫Tapi sebaliknya, sungguh, oleh

17
00:00:35,000 --> 00:00:37,830
‫driver MongoDB yang mendasarinya, oke?

18
00:00:37,830 --> 00:00:39,140
‫Jadi, apa

19
00:00:39,140 --> 00:00:40,734
‫yang akan kita lakukan

20
00:00:40,734 --> 00:00:45,580
‫untuk mengidentifikasi kesalahan ini adalah menggunakan kode 11.000 ini di sini.

21
00:00:45,580 --> 00:00:46,413
‫Baiklah?

22
00:00:47,970 --> 00:00:51,263
‫Jadi, kami memiliki satu penangan untuk CastError.

23
00:00:51,263 --> 00:00:54,190
‫Sekarang mari kita buat satu untuk kasus di mana kita memiliki

24
00:00:54,190 --> 00:00:55,823
‫kesalahan itu. kode,. kode sama dengan 11.000.

25
00:00:56,837 --> 00:01:00,673
‫Jadi dalam hal ini, semua kesalahan harus sama dengan kesalahan

26
00:01:01,640 --> 00:01:04,138
‫yang dikembalikan dari handleDuplicateFields dan sekali

27
00:01:04,138 --> 00:01:08,833
‫lagi, saya menambahkan DB di sini supaya kita tahu bahwa ini ada

28
00:01:10,610 --> 00:01:12,610
‫hubungannya dengan database kita.

29
00:01:12,610 --> 00:01:15,983
‫Baiklah?

30
00:01:16,940 --> 00:01:18,160
‫Dan, jadi sekarang mari kita buat fungsi ini.

31
00:01:18,160 --> 00:01:22,383
‫Dan sekarang, pesan yang akan kita kirim adalah yang

32
00:01:29,470 --> 00:01:32,900
‫ini jadi mari kita buat di sini.

33
00:01:34,900 --> 00:01:37,470
‫Jadi saya ingin mengatakan, Duplikat nilai bidang, dan

34
00:01:37,470 --> 00:01:38,993
‫kemudian mendengar nama nilai

35
00:01:43,220 --> 00:01:46,090
‫itu, jadi mari kita masukkan ke x untuk saat ini.

36
00:01:46,090 --> 00:01:49,503
‫Kami akan menghasilkan itu nanti.

37
00:01:50,760 --> 00:01:53,160
‫Jadi silakan gunakan nilai lain.

38
00:01:53,160 --> 00:01:57,113
‫Baiklah?

39
00:01:58,170 --> 00:01:59,030
‫Jadi dalam kasus yang

40
00:01:59,030 --> 00:02:01,120
‫baru saja kita lihat, x ini di sini harus disebut Pendaki Hutan.

41
00:02:01,120 --> 00:02:04,093
‫Jadi pada dasarnya, apa yang kami coba

42
00:02:05,730 --> 00:02:07,410
‫keluarkan dari string

43
00:02:07,410 --> 00:02:11,090
‫pesan kesalahan ini adalah ini, "The Forest Hiker. " Jadi itulah nilai duplikat yang ingin kami

44
00:02:11,090 --> 00:02:13,577
‫kirimkan ke

45
00:02:14,569 --> 00:02:16,280
‫klien sehingga mereka

46
00:02:16,280 --> 00:02:18,040
‫sekarang dapat memperbaikinya

47
00:02:18,040 --> 00:02:20,100
‫dan membuat nama lain.

48
00:02:20,100 --> 00:02:22,040
‫Jadi, bagaimana kita bisa mengekstrak potongan

49
00:02:22,040 --> 00:02:23,595
‫string ini di sini?

50
00:02:23,595 --> 00:02:26,120
‫Nah, kita akan menggunakan ekspresi reguler untuk, pada dasarnya,

51
00:02:26,120 --> 00:02:28,520
‫seperti yang baru saja saya katakan, menemukan teks

52
00:02:28,520 --> 00:02:30,640
‫yang berada di antara tanda kutip.

53
00:02:30,640 --> 00:02:33,170
‫Karena di sini, di string ini, yang kita

54
00:02:33,170 --> 00:02:35,520
‫miliki untuk mengidentifikasi teks ini di sini,

55
00:02:35,520 --> 00:02:37,670
‫jadi untuk menemukannya, adalah kutipan ini.

56
00:02:37,670 --> 00:02:40,460
‫Baiklah?

57
00:02:40,460 --> 00:02:41,293
‫Dan sekarang, seperti

58
00:02:41,293 --> 00:02:43,010
‫yang sudah Anda ketahui, ekspresi reguler bisa sangat sulit.

59
00:02:43,010 --> 00:02:45,670
‫Jadi saya biasanya hanya Google mereka dan biarkan saya

60
00:02:45,670 --> 00:02:47,840
‫menunjukkan kepada Anda bagaimana saya benar-benar melakukannya.

61
00:02:47,840 --> 00:02:50,273
‫Dalam hal ini, saya hanya akan mencari teks pencocokan

62
00:02:53,280 --> 00:02:55,250
‫ekspresi reguler di antara tanda kutip.

63
00:02:55,250 --> 00:03:00,250
‫Dan kemudian biasanya itu benar hasil pertama.

64
00:03:05,620 --> 00:03:08,660
‫Dan kemudian di sini kita mendapatkan hasilnya sehingga

65
00:03:08,660 --> 00:03:11,250
‫kita dapat menggunakan ekspresi reguler ini.

66
00:03:11,250 --> 00:03:14,698
‫Sekarang saya melihat bahwa kita memiliki ini di sini.

67
00:03:14,698 --> 00:03:17,150
‫Ini juga berfungsi dan lebih mudah dibaca.

68
00:03:17,150 --> 00:03:19,270
‫Dan itu memiliki banyak suara dan jadi

69
00:03:19,270 --> 00:03:21,100
‫kita bisa menggunakan yang ini.

70
00:03:21,100 --> 00:03:23,280
‫Jadi itu harus bekerja juga.

71
00:03:23,280 --> 00:03:25,290
‫Jadi mari kita salin

72
00:03:25,290 --> 00:03:29,870
‫dan kembali ke kode kita, dan katakan bahwa nilai kita,

73
00:03:29,870 --> 00:03:32,493
‫jadi nilai const sama dengan kesalahan. ermsg, jadi ingat, itu

74
00:03:34,440 --> 00:03:37,663
‫nama propertinya.

75
00:03:40,990 --> 00:03:45,990
‫Jadi, errmsg. Jadi sekali lagi, itu karena ini adalah kesalahan yang dibuat oleh Mongo

76
00:03:46,000 --> 00:03:48,820
‫dan ini

77
00:03:48,820 --> 00:03:51,010
‫adalah nama yang sedikit berbeda.

78
00:03:51,010 --> 00:03:53,383
‫Oke?

79
00:03:54,410 --> 00:03:55,243
‫Jadi kami memiliki

80
00:03:55,243 --> 00:03:57,890
‫string ini dan sekarang di sini kami ingin mencocokkan ekspresi reguler kami.

81
00:03:57,890 --> 00:03:59,973
‫Jadi, cocokkan, lalu di JavaScript, ekspresi

82
00:04:02,140 --> 00:04:04,260
‫reguler selalu berada di antara dua garis miring.

83
00:04:04,260 --> 00:04:07,623
‫Kemudian tempel di sini apa yang baru saja

84
00:04:08,530 --> 00:04:12,220
‫kita dapatkan dari Stack Overflow dan mari kita lihat.

85
00:04:14,450 --> 00:04:16,000
‫Jadi, kami sudah menjalankan produksi.

86
00:04:22,260 --> 00:04:24,600
‫Saat ini kami tidak akan mengirim kembali tanggapan apa pun.

87
00:04:24,600 --> 00:04:27,340
‫Yang ingin saya lakukan sekarang adalah melihat nilainya.

88
00:04:27,340 --> 00:04:30,203
‫Jadi, jika saya mengirim ini sekarang, kami mendapat respons aneh di sini.

89
00:04:31,870 --> 00:04:36,870
‫Dan sekali lagi, itu karena kami tidak mengirim kesalahan apa pun.

90
00:04:37,870 --> 00:04:40,910
‫Tetapi untuk saat ini saya benar-benar hanya tertarik pada nilainya.

91
00:04:40,910 --> 00:04:44,213
‫Jadi ini, apa yang kita lihat di log sekarang

92
00:04:45,540 --> 00:04:46,660
‫adalah nilai itu.

93
00:04:46,660 --> 00:04:48,980
‫Dan sebenarnya itu adalah sebuah array.

94
00:04:48,980 --> 00:04:51,163
‫Tapi yang kami minati sebenarnya adalah string ini di sini.

95
00:04:52,030 --> 00:04:55,830
‫Jadi itu benar-benar cocok dengan semua teks yang ada

96
00:04:55,830 --> 00:04:58,550
‫di antara string dan, kita dapat

97
00:04:58,550 --> 00:05:00,670
‫mengatakan bahwa itu berhasil.

98
00:05:00,670 --> 00:05:01,970
‫Jadi ekspresi reguler kami berhasil.

99
00:05:03,680 --> 00:05:06,720
‫Sekarang, yang harus kita katakan adalah bahwa kita menginginkan elemen

100
00:05:06,720 --> 00:05:08,370
‫pertama dari array itu.

101
00:05:08,370 --> 00:05:10,970
‫Jadi, elemen nol.

102
00:05:10,970 --> 00:05:12,960
‫Dan sekarang, mari kita lanjutkan

103
00:05:12,960 --> 00:05:16,280
‫dan kembali atau AppError baru, jadi AppError baru,

104
00:05:16,280 --> 00:05:20,590
‫tempel di pesan, dan sekali lagi kode status 400 untuk

105
00:05:20,590 --> 00:05:22,560
‫permintaan yang buruk.

106
00:05:22,560 --> 00:05:25,993
‫Dan sekarang mari kita coba lagi.

107
00:05:27,999 --> 00:05:29,570
‫Sekali lagi, kami masih

108
00:05:29,570 --> 00:05:31,820
‫menjalankan produksi dan kode itu sekarang harus dijalankan.

109
00:05:31,820 --> 00:05:34,550
‫Dan tentu saja, kami mencoba mengganti x.

110
00:05:34,550 --> 00:05:37,423
‫Tentu saja, kami sekarang ingin nilai kami di sini.

111
00:05:40,400 --> 00:05:42,613
‫Jadi, sekarang kita mendapatkan

112
00:05:46,750 --> 00:05:51,110
‫nilai bidang duplikat, "The Forest Hiker. " Sempurna.

113
00:05:51,110 --> 00:05:51,970
‫Dan sekarang,

114
00:05:51,970 --> 00:05:54,140
‫selanjutnya, di video berikutnya kita akan

115
00:05:54,140 --> 00:05:57,330
‫menangani yang terakhir dari tiga kesalahan yang merupakan kesalahan validasi.

