﻿1
00:00:01,090 --> 00:00:03,130
‫Instruktur: Jadi di kuliah

2
00:00:03,130 --> 00:00:06,010
‫terakhir, kita belajar tentang skema dan model luwak,

3
00:00:06,010 --> 00:00:08,260
‫jadi sekarang mari kita terapkan skema

4
00:00:08,260 --> 00:00:11,173
‫dan model yang sangat sederhana untuk aplikasi kita.

5
00:00:12,920 --> 00:00:14,990
‫Dan untuk saat ini, mari lakukan itu di

6
00:00:14,990 --> 00:00:17,330
‫sini di server kami. berkas js.

7
00:00:17,330 --> 00:00:19,020
‫Nanti, tentu saja,

8
00:00:19,020 --> 00:00:21,370
‫kami akan memindahkannya ke file lain.

9
00:00:21,370 --> 00:00:24,560
‫Jadi, Mongoose adalah semua tentang model, dan

10
00:00:24,560 --> 00:00:26,960
‫model seperti cetak biru

11
00:00:26,960 --> 00:00:29,420
‫yang kita gunakan untuk membuat dokumen.

12
00:00:29,420 --> 00:00:32,290
‫Jadi ini seperti kelas dalam JavaScript,

13
00:00:32,290 --> 00:00:35,080
‫yang juga kami gunakan sebagai

14
00:00:35,080 --> 00:00:38,590
‫cetak biru untuk membuat objek darinya, bukan?

15
00:00:38,590 --> 00:00:41,500
‫Jadi sekali lagi, kami membuat model di

16
00:00:41,500 --> 00:00:44,000
‫Mongoose untuk membuat dokumen yang menggunakannya,

17
00:00:44,000 --> 00:00:47,670
‫dan juga untuk meng-query update dan menghapus dokumen-dokumen ini.

18
00:00:47,670 --> 00:00:50,840
‫Jadi pada dasarnya, untuk melakukan setiap operasi

19
00:00:50,840 --> 00:00:53,420
‫CRUD, jadi buat, baca, perbarui,

20
00:00:53,420 --> 00:00:56,520
‫dan hapus, kita membutuhkan model Mongoose, dan

21
00:00:56,520 --> 00:00:59,520
‫untuk membuat model, kita benar-benar membutuhkan skema.

22
00:00:59,520 --> 00:01:01,700
‫Jadi, kami benar-benar membuat model dari

23
00:01:01,700 --> 00:01:03,820
‫skema Mongoose seperti yang

24
00:01:03,820 --> 00:01:06,490
‫kami pelajari di video terakhir, dan kami

25
00:01:06,490 --> 00:01:09,910
‫menggunakan skema untuk menggambarkan data kami, untuk menetapkan nilai

26
00:01:09,910 --> 00:01:13,660
‫default, untuk memvalidasi data, dan segala macam hal seperti itu.

27
00:01:13,660 --> 00:01:15,620
‫Jadi seperti yang akan Anda

28
00:01:15,620 --> 00:01:17,930
‫lihat sekarang, karena sekarang kita sebenarnya akan

29
00:01:17,930 --> 00:01:20,990
‫mulai membuat skema yang sangat sederhana untuk tur kita.

30
00:01:20,990 --> 00:01:24,980
‫Jadi, katakanlah tourSchema adalah

31
00:01:28,300 --> 00:01:32,363
‫luwak baru. Skema.

32
00:01:33,852 --> 00:01:36,752
‫Tambahkan bahwa di sini kita benar-benar melewatkan skema kita sebagai objek.

33
00:01:37,590 --> 00:01:40,990
‫Baiklah, kita juga dapat memasukkan beberapa opsi ke dalam

34
00:01:40,990 --> 00:01:44,090
‫skema, tapi saya menyerahkannya ke video mendatang di

35
00:01:44,090 --> 00:01:46,640
‫mana kita benar-benar membutuhkan fitur itu.

36
00:01:46,640 --> 00:01:49,020
‫Jadi, ingat dokumen tur yang kami

37
00:01:49,020 --> 00:01:51,090
‫buat di bagian terakhir

38
00:01:51,090 --> 00:01:53,190
‫ketika kami mulai menjelajahi Mongoose DB?

39
00:01:53,190 --> 00:01:54,760
‫Jadi kami selalu

40
00:01:54,760 --> 00:01:57,100
‫memberi mereka nama, peringkat, dan harga,

41
00:01:57,100 --> 00:01:59,226
‫benar, jadi sekarang mari kita ulangi

42
00:01:59,226 --> 00:02:02,010
‫itu di sini dengan menyebutkan nama, dan kemudian

43
00:02:02,010 --> 00:02:04,717
‫menjelaskan jenis data apa yang kita inginkan

44
00:02:04,717 --> 00:02:07,500
‫setelah nama, dan kita ingin itu menjadi string.

45
00:02:07,500 --> 00:02:09,770
‫Jadi Mongoose sebenarnya menggunakan

46
00:02:09,770 --> 00:02:13,280
‫tipe data JavaScript asli, jadi di sini kita bisa

47
00:02:13,280 --> 00:02:16,980
‫mengatakan string, atau setelah rating kita bisa mengatakan bahwa

48
00:02:19,394 --> 00:02:22,163
‫kita menginginkan angka dan sama dengan harganya.

49
00:02:23,340 --> 00:02:25,890
‫Itu juga harus berupa angka, kan?

50
00:02:25,890 --> 00:02:30,320
‫Jadi ini adalah cara paling dasar untuk menggambarkan data kami.

51
00:02:30,320 --> 00:02:33,130
‫Jadi kami memiliki nama, peringkat, dan harga,

52
00:02:33,130 --> 00:02:34,913
‫dan kami menentukan tipe

53
00:02:34,913 --> 00:02:38,150
‫data yang kami harapkan untuk masing-masing bidang ini.

54
00:02:38,150 --> 00:02:40,340
‫Jadi sekali lagi, ini adalah

55
00:02:40,340 --> 00:02:43,100
‫cara paling dasar untuk mendeskripsikan skema, tetapi kita

56
00:02:43,100 --> 00:02:45,650
‫dapat melangkah lebih jauh dengan mendefinisikan sesuatu

57
00:02:45,650 --> 00:02:48,360
‫yang disebut opsi tipe skema untuk setiap bidang,

58
00:02:48,360 --> 00:02:50,600
‫atau hanya untuk beberapa bidang tertentu.

59
00:02:50,600 --> 00:02:52,640
‫Jadi mari kita mulai di

60
00:02:52,640 --> 00:02:54,270
‫sini dengan nama,

61
00:02:54,270 --> 00:02:58,490
‫dan alih-alih hanya menetapkannya sebagai string, mari kita masukkan objek lain.

62
00:02:58,490 --> 00:03:01,340
‫Jadi sekarang, kita mengatakan bahwa kita ingin tipenya

63
00:03:01,340 --> 00:03:02,850
‫menjadi string tetapi

64
00:03:02,850 --> 00:03:05,640
‫sekarang kita dapat menentukan beberapa opsi lagi, oke?

65
00:03:05,640 --> 00:03:10,640
‫Misalnya, kita dapat mengatakan bahwa bidang ini wajib diisi, jadi kita

66
00:03:12,070 --> 00:03:13,060
‫cukup

67
00:03:13,060 --> 00:03:17,110
‫mengatur properti yang diperlukan di sini menjadi benar, oke?

68
00:03:17,110 --> 00:03:20,970
‫Jadi sekali lagi, objek ini di sini adalah opsi jenis skema,

69
00:03:20,970 --> 00:03:23,320
‫dan mereka dapat berbeda untuk jenis yang

70
00:03:23,320 --> 00:03:25,640
‫berbeda, misalnya jenis nomor memiliki

71
00:03:25,640 --> 00:03:28,250
‫beberapa opsi skema yang berbeda dari string di

72
00:03:28,250 --> 00:03:30,770
‫sini, tetapi banyak dari mereka juga serupa.

73
00:03:30,770 --> 00:03:32,630
‫Jadi misalnya yang diperlukan, kita bisa

74
00:03:32,630 --> 00:03:35,403
‫menggunakannya di nomor juga, jadi mari kita lakukan di sini.

75
00:03:39,750 --> 00:03:42,776
‫Jadi tipenya, kita tetap maunya

76
00:03:42,776 --> 00:03:47,460
‫berupa angka, dan kita juga ingin itu wajib, oke?

77
00:03:47,460 --> 00:03:49,460
‫Sekarang, di sini, di bagian yang

78
00:03:49,460 --> 00:03:52,310
‫diperlukan, kita sebenarnya dapat menentukan kesalahan yang ingin kita tampilkan

79
00:03:52,310 --> 00:03:54,020
‫saat kita kehilangan bidang ini.

80
00:03:54,020 --> 00:03:55,760
‫Jadi, untuk melakukan itu

81
00:03:55,760 --> 00:03:59,300
‫kita hanya perlu memasukkan sebuah array, dan yang pertama adalah benar.

82
00:03:59,300 --> 00:04:01,720
‫Jadi elemen pertama benar, dan yang

83
00:04:01,720 --> 00:04:03,820
‫kedua adalah string kesalahan.

84
00:04:03,820 --> 00:04:08,670
‫Katakanlah, sebuah tur harus memiliki nama, lalu di sini mari kita lakukan

85
00:04:08,670 --> 00:04:10,270
‫hal yang sama.

86
00:04:15,459 --> 00:04:17,490
‫Tur harus memiliki harga, oke?

87
00:04:17,490 --> 00:04:19,698
‫Kemudian kita juga dapat mengatur nilai

88
00:04:19,698 --> 00:04:22,720
‫default dan mari kita lakukan itu di sini untuk rating.

89
00:04:22,720 --> 00:04:24,640
‫Jadi sekali lagi, saya

90
00:04:24,640 --> 00:04:27,610
‫akan menentukan beberapa opsi tipe skema di sini, yang

91
00:04:27,610 --> 00:04:29,700
‫tidak wajib, jadi cukup dengan mendefinisikan

92
00:04:29,700 --> 00:04:32,210
‫tipe di sini seperti yang kita lakukan, tetapi

93
00:04:32,210 --> 00:04:34,150
‫jika Anda menginginkan beberapa fitur lagi,

94
00:04:34,150 --> 00:04:37,033
‫maka setidaknya kita perlu menentukan skema jenis opsi objek.

95
00:04:38,080 --> 00:04:42,580
‫Oke, dan kemudian kita perlu menentukan jenisnya lagi, yaitu angka, dan sebagai

96
00:04:42,580 --> 00:04:47,480
‫default, saya ingin menjadi 4. 5.

97
00:04:48,350 --> 00:04:50,990
‫Jadi jika sekarang kita membuat dokumen tur

98
00:04:50,990 --> 00:04:54,270
‫baru menggunakan skema ini dan tidak menentukan peringkat, maka

99
00:04:54,270 --> 00:04:58,928
‫secara otomatis akan disetel ke 4. 5, oke?

100
00:04:58,928 --> 00:05:02,100
‫Dan sebagai penutup, mari kita coba yang lain

101
00:05:02,100 --> 00:05:04,853
‫di sini, yaitu namanya harus unik.

102
00:05:05,910 --> 00:05:09,080
‫Jadi, unik dan set ke true, dan seperti

103
00:05:09,080 --> 00:05:11,020
‫ini, kita sekarang dapat

104
00:05:11,020 --> 00:05:14,390
‫memiliki dua dokumen tur dengan nama yang sama, oke?

105
00:05:14,390 --> 00:05:16,550
‫Jadi, ini adalah skema

106
00:05:16,550 --> 00:05:18,370
‫dasar kita, sekarang

107
00:05:18,370 --> 00:05:21,230
‫mari kita buat model darinya, oke?

108
00:05:21,230 --> 00:05:22,380
‫Dan itu

109
00:05:24,890 --> 00:05:28,412
‫sangat sederhana, kita cukup membuat sebuah variabel bernama

110
00:05:28,412 --> 00:05:32,390
‫Tour, dan kemudian luwak. model, lalu nama

111
00:05:32,390 --> 00:05:36,380
‫modelnya, yaitu Tour dengan huruf besar T di

112
00:05:36,380 --> 00:05:37,780
‫sini, baiklah.

113
00:05:37,780 --> 00:05:39,930
‫Dan itu hanya semacam

114
00:05:39,930 --> 00:05:42,500
‫konvensi dalam pemrograman untuk selalu menggunakan huruf

115
00:05:42,500 --> 00:05:44,720
‫besar pada nama model dan variabel.

116
00:05:44,720 --> 00:05:47,040
‫Jadi di sini sama, jadi saya juga

117
00:05:47,040 --> 00:05:49,980
‫membuat variabel tur ini di sini dengan huruf besar T supaya

118
00:05:49,980 --> 00:05:52,630
‫kita tahu bahwa kita berurusan dengan model di sini.

119
00:05:53,750 --> 00:05:55,940
‫Baiklah, jadi

120
00:05:55,940 --> 00:06:00,940
‫nama model dan skemanya, dan hanya itu.

121
00:06:01,310 --> 00:06:04,210
‫Jadi seperti ini, kami membuat tur

122
00:06:04,210 --> 00:06:08,210
‫dari skema yang kami buat di sini di awal.

123
00:06:08,210 --> 00:06:10,150
‫Baiklah, jadi di video

124
00:06:10,150 --> 00:06:12,570
‫berikutnya kita akan menggunakan model

125
00:06:12,570 --> 00:06:17,220
‫ini di sini untuk membuat dokumen tur pertama kita, oke?

126
00:06:17,220 --> 00:06:21,300
‫Jadi hanya rekap di sini, kami menggunakan luwak baru. Skema di sini

127
00:06:21,300 --> 00:06:24,525
‫untuk menentukan skema untuk data kita.

128
00:06:24,525 --> 00:06:27,870
‫Jadi, pada dasarnya menggambarkannya dan juga melakukan beberapa validasi.

129
00:06:27,870 --> 00:06:29,800
‫Misalnya, ini diperlukan di

130
00:06:29,800 --> 00:06:32,580
‫sini, ini sebenarnya sesuatu yang disebut validator

131
00:06:32,580 --> 00:06:35,120
‫karena digunakan untuk memvalidasi data kita.

132
00:06:35,120 --> 00:06:37,330
‫Dalam hal ini, cukup untuk memvalidasi

133
00:06:37,330 --> 00:06:39,390
‫jika nama itu benar-benar ada.

134
00:06:39,390 --> 00:06:41,757
‫Dan ada banyak validator di Mongoose,

135
00:06:41,757 --> 00:06:44,200
‫dan kita sebenarnya juga dapat membuatnya sendiri,

136
00:06:44,200 --> 00:06:46,400
‫dan tentu saja kita akan

137
00:06:46,400 --> 00:06:50,186
‫membicarakannya nanti, sekali lagi, setelah kita benar-benar membutuhkan fitur ini.

138
00:06:50,186 --> 00:06:52,600
‫Bagaimanapun, sekarang mari kita lanjutkan dengan cepat

139
00:06:52,600 --> 00:06:54,540
‫untuk akhirnya mulai menggunakan model yang

140
00:06:54,540 --> 00:06:56,113
‫baru saja kita buat.

