﻿1
00:00:00,940 --> 00:00:02,720
‫Jonas: Jadi kita belajar

2
00:00:02,720 --> 00:00:05,860
‫tentang middleware Dokumen dan kueri, dan sekarang middleware

3
00:00:05,860 --> 00:00:09,033
‫terakhir yang akan kita bicarakan adalah middleware agregasi,

4
00:00:10,560 --> 00:00:12,253
‫dan seperti yang mungkin

5
00:00:13,168 --> 00:00:14,930
‫bisa Anda tebak, middleware

6
00:00:14,930 --> 00:00:18,350
‫agregasi memungkinkan kita untuk menambahkan kait sebelum atau

7
00:00:18,350 --> 00:00:19,970
‫setelah agregasi terjadi,

8
00:00:19,970 --> 00:00:23,830
‫dan sebagainya sekarang mari kita lanjutkan dengan contoh sebelumnya di

9
00:00:23,830 --> 00:00:27,540
‫mana kita menyembunyikan tur rahasia dari kueri, sekarang dalam

10
00:00:27,540 --> 00:00:30,270
‫agregasi tur rahasia masih digunakan, bukan?

11
00:00:30,270 --> 00:00:32,220
‫Jadi mari kita konfirmasi

12
00:00:33,840 --> 00:00:37,290
‫dengan cepat bahwa sebenarnya, misalnya di sini, di statistik get

13
00:00:37,290 --> 00:00:39,940
‫tour kami, jadi di situlah kami menggunakan

14
00:00:39,940 --> 00:00:42,700
‫agregasi pertama dan jadi Anda lihat kami

15
00:00:42,700 --> 00:00:45,500
‫memiliki empat tur di sini, empat di mudah,

16
00:00:45,500 --> 00:00:49,060
‫dan tiga di sedang dan jadi jadi 11 tapi kita

17
00:00:49,060 --> 00:00:52,480
‫sudah tahu bahwa kami sebenarnya hanya ingin 10 tur.

18
00:00:52,480 --> 00:00:55,380
‫Jadi ada 10 tur yang tidak rahasia,

19
00:00:55,380 --> 00:00:58,900
‫dan satu yang rahasia, dan sekarang kami mendapatkan semua

20
00:00:58,900 --> 00:01:01,880
‫11 tur ini di sini dan pada dasarnya

21
00:01:01,880 --> 00:01:05,000
‫kami juga ingin mengecualikan tur rahasia dalam agregasi.

22
00:01:05,000 --> 00:01:06,373
‫Jadi bagaimana kita bisa melakukan itu?

23
00:01:07,430 --> 00:01:09,680
‫Nah mari kita lihat di

24
00:01:09,680 --> 00:01:14,680
‫mana agregasi kita sebenarnya terjadi jadi itu di sini ya, jadi dalam

25
00:01:14,900 --> 00:01:19,270
‫mendapatkan langkah-langkah tur, dan apa yang bisa kita lakukan adalah di

26
00:01:19,270 --> 00:01:22,640
‫sini dalam keadaan pertandingan ini hanya mengecualikan tur

27
00:01:22,640 --> 00:01:24,520
‫rahasia yang benar kan?

28
00:01:24,520 --> 00:01:26,740
‫Jadi itu akan cukup mudah untuk

29
00:01:26,740 --> 00:01:29,080
‫ditambahkan di sini, tetapi kemudian kita

30
00:01:29,080 --> 00:01:32,080
‫harus menambahkan hal yang sama di sini di

31
00:01:32,080 --> 00:01:34,680
‫agregasi lain yang kita miliki, dan jika

32
00:01:34,680 --> 00:01:37,860
‫kita memiliki lebih banyak agregasi, kita harus menambahkan itu

33
00:01:37,860 --> 00:01:40,560
‫di semuanya dan itu tentu saja bukan

34
00:01:40,560 --> 00:01:44,010
‫ide yang baik, karena misalnya kita bisa lupa untuk melakukannya

35
00:01:44,010 --> 00:01:48,820
‫dan itu juga hanya kode yang berulang dan jadi mari kita kecualikan itu tepat

36
00:01:48,820 --> 00:01:53,280
‫di tingkat model, baiklah jadi mari kita tambahkan middleware agregasi di sini

37
00:01:54,470 --> 00:01:55,893
‫dimulai dengan komentar.

38
00:01:59,450 --> 00:02:03,970
‫Jadi middleware agregasi dan seperti sebelumnya

39
00:02:05,070 --> 00:02:10,040
‫kita memiliki tourSchema. pra jadi kami ingin ini terjadi

40
00:02:10,040 --> 00:02:12,110
‫sebelum agregasi benar-benar dieksekusi

41
00:02:13,060 --> 00:02:16,573
‫dan jadi di sini kami menggunakan kait agregat.

42
00:02:18,230 --> 00:02:22,047
‫Baiklah dan kemudian fungsi kita yang

43
00:02:22,047 --> 00:02:26,332
‫lagi menerima fungsi berikutnya sehingga memanggil middleware berikutnya.

44
00:02:26,332 --> 00:02:31,332
‫Baiklah, jadi mari kita mulai dengan melihat ini, jadi ingatlah

45
00:02:32,530 --> 00:02:37,113
‫bahwa di sini di middleware kueri bahwa objek ini

46
00:02:37,113 --> 00:02:40,283
‫menunjuk ke kueri saat ini.

47
00:02:41,130 --> 00:02:44,590
‫Kemudian di sini di middleware dokumen, objek

48
00:02:44,590 --> 00:02:46,850
‫ini menunjuk ke dokumen

49
00:02:46,850 --> 00:02:50,330
‫saat ini, dan di sini di middleware agregasi

50
00:02:50,330 --> 00:02:53,880
‫ini akan menunjuk ke objek agregasi saat ini.

51
00:02:53,880 --> 00:02:56,764
‫Oke dan jadi mari kita lihat itu di

52
00:02:56,764 --> 00:03:00,113
‫konsol tetapi sebelum itu izinkan saya menghapus log ini di sini.

53
00:03:01,590 --> 00:03:05,890
‫Baiklah simpan saja, jalankan agregasi ini di sini dan itu

54
00:03:08,520 --> 00:03:12,520
‫memakan banyak waktu jadi mari kita batalkan dan kembali

55
00:03:13,750 --> 00:03:16,580
‫dan itu mungkin karena kita tidak

56
00:03:16,580 --> 00:03:21,460
‫memanggil berikutnya di sini, dan sepertinya kita sudah tahu bahwa kita

57
00:03:21,460 --> 00:03:23,580
‫terjebak dalam fungsi

58
00:03:23,580 --> 00:03:26,340
‫middleware dan jadi itu tidak baik.

59
00:03:26,340 --> 00:03:29,063
‫Jadi mari kita coba lagi sekarang kirim,

60
00:03:30,120 --> 00:03:33,490
‫dan ya jadi sekarang kita kembali dan sekarang mari

61
00:03:33,490 --> 00:03:35,470
‫kita lihat objek agregasi.

62
00:03:35,470 --> 00:03:37,700
‫Oke jadi ada banyak hal

63
00:03:39,980 --> 00:03:43,800
‫di sini jadi tidak terlalu menarik di sini dan saya tidak

64
00:03:44,950 --> 00:03:48,330
‫dapat benar-benar menemukan apa yang saya coba tunjukkan di

65
00:03:48,330 --> 00:03:53,330
‫sini dan jadi mari kita tambahkan ini. pipeline oke karena yang

66
00:03:53,450 --> 00:03:57,140
‫sebenarnya ingin saya tunjukkan hanyalah objek pipeline.

67
00:03:57,140 --> 00:04:00,620
‫Oke, dan sebenarnya itu pipeline seperti ini

68
00:04:00,620 --> 00:04:03,053
‫jadi sebenarnya fungsi, metode.

69
00:04:04,970 --> 00:04:06,593
‫Jadi mari kita bersihkan konsol di sini.

70
00:04:07,820 --> 00:04:12,820
‫Coba ini lagi, dan jadi di sini kita mendapatkan pipa agregasi,

71
00:04:14,350 --> 00:04:17,620
‫dan itu hanya array yang kita berikan

72
00:04:17,620 --> 00:04:19,770
‫ke fungsi agregat sebelumnya.

73
00:04:19,770 --> 00:04:23,040
‫Benar, jadi mari kita lihat dan di sini

74
00:04:23,040 --> 00:04:26,400
‫kita memiliki array itu, yang ini bukan yang ini.

75
00:04:26,400 --> 00:04:28,200
‫Jadi kami memiliki pertandingan

76
00:04:28,200 --> 00:04:30,910
‫untuk mengelompokkan dan kemudian mengurutkannya jadi jika kami

77
00:04:30,910 --> 00:04:34,470
‫melihat di sini di konsol kami memang memiliki pertandingan kami dengan

78
00:04:34,470 --> 00:04:37,320
‫peringkat rata-rata yang kami miliki grup dan kemudian urutkan.

79
00:04:37,320 --> 00:04:41,020
‫Jadi itu persis pipeline yang kita tentukan sebelumnya, dan

80
00:04:41,020 --> 00:04:44,570
‫sekarang untuk menyaring tur rahasia yang harus kita

81
00:04:44,570 --> 00:04:47,970
‫lakukan adalah menambahkan tahap kecocokan lain tepat di

82
00:04:47,970 --> 00:04:50,700
‫awal array pipeline ini, benar

83
00:04:50,700 --> 00:04:53,713
‫dan mari kita lakukan hal itu.

84
00:04:55,029 --> 00:04:58,040
‫Jadi mari kita lakukan di sini sebelum

85
00:04:58,040 --> 00:05:03,040
‫log ini, jadi ini. pipeline dan ingat bahwa ini adalah array

86
00:05:03,890 --> 00:05:06,130
‫dan bagaimana cara menambahkan elemen di

87
00:05:06,130 --> 00:05:06,963
‫awal array?

88
00:05:08,262 --> 00:05:11,510
‫Kami menggunakan unshift dan itu adalah metode JavaScript standar

89
00:05:11,510 --> 00:05:15,340
‫untuk array, oke, kami juga memiliki shift untuk menambahkan di akhir

90
00:05:15,340 --> 00:05:18,470
‫array dan unshift di awal array, dan sekali

91
00:05:18,470 --> 00:05:21,690
‫lagi yang ingin kami tambahkan di sini sekarang

92
00:05:21,690 --> 00:05:25,490
‫adalah menambahkan hanya tahap lain, sangat mirip dengan apa yang kita

93
00:05:25,490 --> 00:05:26,803
‫miliki di sini.

94
00:05:29,690 --> 00:05:34,690
‫Jadi cocokkan dan kemudian secretTour, tidak sama dengan benar.

95
00:05:40,460 --> 00:05:45,340
‫Simpan saja, jadi potongan kode di sini pada dasarnya persis seperti

96
00:05:45,340 --> 00:05:48,330
‫yang kita miliki di sini, kan?

97
00:05:48,330 --> 00:05:51,220
‫Pada dasarnya menghapus dari output

98
00:05:51,220 --> 00:05:55,260
‫semua dokumen yang disetel secretTour ke true, bukan?

99
00:05:55,260 --> 00:06:00,160
‫Jadi jika Anda menyimpannya sekarang, maka mari kita periksa ini, dan ingat sekarang

100
00:06:00,160 --> 00:06:03,250
‫kita memiliki 11 tur, empat, empat, dan tiga

101
00:06:03,250 --> 00:06:06,780
‫jadi mari kita periksa hasilnya setelah itu dan jadi

102
00:06:06,780 --> 00:06:10,340
‫sekarang memang salah satu yang sulit Anda hilang jadi kami

103
00:06:10,340 --> 00:06:13,460
‫hanya sekarang memiliki tiga tur sulit yang berarti

104
00:06:13,460 --> 00:06:15,930
‫kami kembali hanya memiliki 10.

105
00:06:15,930 --> 00:06:20,260
‫Oke dan sebenarnya kami dapat mengonfirmasi bahwa tur super

106
00:06:20,260 --> 00:06:24,630
‫rahasia kami adalah tur yang sulit, oke dan sekarang sudah

107
00:06:24,630 --> 00:06:27,700
‫hilang dan jadi hasil kami

108
00:06:27,700 --> 00:06:30,800
‫sekarang hanya tentang tur non-rahasia biasa, oke?

109
00:06:30,800 --> 00:06:34,670
‫Dan kita dapat melihat kembali alur agregasi kita sekarang dan di

110
00:06:34,670 --> 00:06:38,640
‫sini Anda melihat bahwa sekarang kita memiliki dua tahap yang cocok ini.

111
00:06:38,640 --> 00:06:41,150
‫Hebat dan seperti yang saya sebutkan

112
00:06:41,150 --> 00:06:45,050
‫sebelumnya tidak masalah untuk mengulangi tahapan ini, kami dapat memiliki

113
00:06:45,050 --> 00:06:49,920
‫tahapan pertandingan sebanyak yang kami inginkan, oke dan itu saja untuk middleware agregasi.

114
00:06:49,920 --> 00:06:53,740
‫Saya tidak akan memasukkan kode pos apa pun di sini untuk

115
00:06:53,740 --> 00:06:56,290
‫middleware yang sebenarnya tidak terlalu penting, dan saya

116
00:06:56,290 --> 00:06:59,050
‫juga tidak akan membicarakan model middleware di sini

117
00:06:59,050 --> 00:07:01,570
‫karena itu sebenarnya tidak terlalu penting.

118
00:07:01,570 --> 00:07:04,750
‫Baiklah, jadi middleware adalah beberapa hal yang sangat keren

119
00:07:04,750 --> 00:07:08,180
‫dan penting yang dapat kita tambahkan ke model kita,

120
00:07:08,180 --> 00:07:10,560
‫dan memang ada hal keren lainnya

121
00:07:10,560 --> 00:07:13,430
‫yang dapat kita lakukan dengan model, misalnya mengimplementasikan

122
00:07:13,430 --> 00:07:16,690
‫metode instance yang merupakan metode yang akan tersedia di

123
00:07:16,690 --> 00:07:19,220
‫dokumen selamanya setelah menjadi ditanyakan, dan itu

124
00:07:19,220 --> 00:07:21,410
‫lagi-lagi bisa sangat berguna, dan

125
00:07:21,410 --> 00:07:23,402
‫kita akan melakukannya nanti

126
00:07:23,402 --> 00:07:25,570
‫di bagian otentikasi juga, oke.

127
00:07:25,570 --> 00:07:27,940
‫Jadi saya akan membiarkannya sebentar, sekarang apa

128
00:07:27,940 --> 00:07:30,110
‫yang akan kita lakukan di

129
00:07:30,110 --> 00:07:34,170
‫bagian ini hanya untuk menyelesaikannya adalah benar-benar menambahkan beberapa validasi, baiklah

130
00:07:34,170 --> 00:07:37,070
‫dan dalam dua video berikutnya kita akan membicarakannya.

